我正在将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']
答案 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)
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
和map
list(map(str, df.date))
['2018-05-20 10:20:00', '2018-05-20 10:30:00']