只需对整个数组进行操作即可,
Series就像
to_datetime可以对类似数组的args进行操作并直接将其分配给该列一样:
In [72]:df['date'] = pd.to_datetime(df['date'])df.info()<class 'pandas.core.frame.Dataframe'>Int64Index: 5 entries, 0 to 4Data columns (total 1 columns):date 5 non-null datetime64[ns]dtypes: datetime64[ns](1)memory usage: 80.0 bytesIn [73]:dfOut[73]: dateindex 0 2015-02-01 00:46:281 2015-02-01 00:59:562 2015-02-01 00:16:273 2015-02-01 00:33:454 2015-02-01 13:48:29
如果将循环更改为此,那么它将起作用:
In [80]:for i in df.index: df.loc[i,'date']=pd.to_datetime(df.loc[i, 'date'])dfOut[80]:dateindex 0 2015-02-01 00:46:281 2015-02-01 00:59:562 2015-02-01 00:16:273 2015-02-01 00:33:454 2015-02-01 13:48:29
代码mo吟,因为您可能在df上而不是在视图上对该行的副本进行操作,因此使用新的索引器可以避免这种歧义
编辑
看来您使用的是熊猫的古老版本,以下方法应该可以工作:
tt[1].apply(lambda x: x.hour)



