我有一个Pandas数据框,其原始日期格式为“ 19990130”。我想将它们转换为新列:“年”,“月”和“星期几”。
我尝试使用以下内容:
string SqlConn = ConfigurationManager.ConnectionStrings["Sql28"].ConnectionString;
SqlConnection sqlcon = new SqlConnection(SqlConn);
sqlcon.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlcon;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = HttpContext.Current.Session["sql"].ToString();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable employees = new DataTable();
adapter.Fill(employees);
gv.DataSource = employees;
gv.DataBind();
Cache.Insert("GridData", employees, null, System.Web.Caching.Cache.NoAbsoluteExpiration,new TimeSpan(0, 360000, 0));
哪个确实给了我一组日期时间对象。但是,我尝试的下一个步骤是使用.to_pydatetime(),然后使用.year来尝试得出年份,就像这样:
pd.to_datetime(df['date'], format='%Y%m%d', errors='ignore').values
当我测试单个值但使用Pandas数据框时,此方法有效。我得到:
pd.to_datetime(df['date'], format='%Y%m%d', errors='ignore').values.to_pydatetime().year
从此数据中提取年,月和日的最简单方法是什么?
答案 0 :(得分:2)
尝试:
s = pd.to_datetime(df['date'], format='%Y%m%d', errors='coerce')
s.dt.year
# or
# s.dt.month, etc