Pandas datetime64为字符串

时间:2018-05-21 12:58:07

标签: python string python-3.x pandas datetime

我正在将datetime64的pandas dataframe列转换为list,然后导出到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 个答案:

答案 0 :(得分:2)

您可以先使用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 :(得分: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

listmap

list(map(str, df.date))

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