我有一个带有格式列iso
的熊猫数据框。datetime64[ns]
我的目标是首先将此列转换为 ISO 8601 格式,然后再转换为纯字符串。
dtrain.shape
(10886, 12)
dtrain.dtypes
season int64
holiday int64
workingday int64
weather int64
temp float64
atemp float64
humidity int64
windspeed float64
casual int64
registered int64
count int64
iso datetime64[ns]
我尝试了 StackOverflow 上提到的一些方法,这些方法会引发错误:
dtrain['iso'].astype(datetime)
dtrain['iso'].tolist()/1e9
以下工作,但将列转换为包含两种格式的 Python 对象,并且不能使用str()
or转换为字符串as.type('str')
dtrain['iso'] =dtrain['iso'].dt.strftime('%Y-%m-%dT%H:%M%:%SZ')
dtrain['iso'].dtype
dtype('O')
dtrain['iso'] = dtrain['iso'].astype('str')
dtrain['iso']
datetime
2011-01-01 00:00:00 2011-01-01T00:00:00Z
2011-01-01 01:00:00 2011-01-01T01:00:00Z
2011-01-01 02:00:00 2011-01-01T02:00:00Z
2011-01-01 03:00:00 2011-01-01T03:00:00Z
2011-01-01 04:00:00 2011-01-01T04:00:00Z
...
2012-12-19 19:00:00 2012-12-19T19:00:00Z
2012-12-19 20:00:00 2012-12-19T20:00:00Z
2012-12-19 21:00:00 2012-12-19T21:00:00Z
2012-12-19 22:00:00 2012-12-19T22:00:00Z
2012-12-19 23:00:00 2012-12-19T23:00:00Z
Name: iso, Length: 10886, dtype: object
在这种情况下,将 pandas 数据框对象列转换为字符串列(仅包含 ISO 8601 格式)的解决方法是什么?