Pandas datetime64 转换为字符串

7

我正在将pandas的datetime64数据框列转换为列表,然后将其导出为csv文件中的单个列。

在CSV文件中,我获得以下值:

"[Timestamp('2018-05-20 10:20:00'), Timestamp('2018-05-20 10:30:00')]"

如何将数据转换为字符串并导出到CSV文件。我想要的数据格式如下:
['2018-05-20 10:20:00', '2018-05-20 10:30:00']
2个回答

8
您可以直接使用 astype 来转换 dtype:
In[29]:
df = pd.DataFrame({'date':pd.to_datetime(['2018-05-20 10:20:00','2018-05-20 10:30:00'])})
df

Out[29]: 
                 date
0 2018-05-20 10:20:00
1 2018-05-20 10:30:00

In[30]:
df['date'].astype(str).tolist()

Out[30]: ['2018-05-20 10:20:00', '2018-05-20 10:30:00']

你所做的只是将数组转换为原始dtype的列表:
In[31]:
df['date'].tolist()

Out[31]: [Timestamp('2018-05-20 10:20:00'), Timestamp('2018-05-20 10:30:00')]

更正式的方法是通过调用dt.strftime 方法,使用传入的格式将日期时间转换为字符串:
In[33]:
df['date'].dt.strftime('%Y-%m-%d %H:%M:%S').tolist()

Out[33]: ['2018-05-20 10:20:00', '2018-05-20 10:30:00']

1
EdChum的设置
df = pd.DataFrame({'date':pd.to_datetime(['2018-05-20 10:20:00','2018-05-20 10:30:00'])})
df

                 date
0 2018-05-20 10:20:00
1 2018-05-20 10:30:00

list and map

list(map(str, df.date))

['2018-05-20 10:20:00', '2018-05-20 10:30:00']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接