熊猫 datetime64 到字符串
Posted
技术标签:
【中文标题】熊猫 datetime64 到字符串【英文标题】:Pandas datetime64 to string 【发布时间】:2018-10-31 03:30:18 【问题描述】:我正在将 datetime64 的 pandas 数据框列转换为列表,然后导出为 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']
【问题讨论】:
【参考方案1】:您可以先使用 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']
【讨论】:
【参考方案2】: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
和 map
list(map(str, df.date))
['2018-05-20 10:20:00', '2018-05-20 10:30:00']
【讨论】:
以上是关于熊猫 datetime64 到字符串的主要内容,如果未能解决你的问题,请参考以下文章
什么是 Vaex 函数将字符串解析为 datetime64,相当于 pandas to_datetime,允许自定义格式?