0

我有一个带有格式列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 格式)的解决方法是什么?

4

0 回答 0