熊猫 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

listmap

list(map(str, df.date))

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

【讨论】:

以上是关于熊猫 datetime64 到字符串的主要内容,如果未能解决你的问题,请参考以下文章

熊猫滚动窗口 - datetime64[ns] 未实现

如何仅绘制熊猫 datetime64[ns] 属性的时间

熊猫日期时间格式删除时区[重复]

python键值列表到熊猫系列

python键值列表到熊猫系列

什么是 Vaex 函数将字符串解析为 datetime64,相当于 pandas to_datetime,允许自定义格式?