python - 如何阻止 python pandas 将 "00:00:00"添加到每个日期?

标签 python pandas

使用 pandas.Series.to_csv 将时间序列数据写入 csv 文件会将 00:00:00 添加到每个日期索引,即当 csv 文件在另一个应用程序中打开时很烦人。

Date,price
2000-06-01 00:00:00,90.3
2000-06-02 00:00:00,92.69
2000-06-05 00:00:00,96.1

是否有一种干净/Pythonic 的方法可以将日期值写入为日期,而无需额外的 00:00:00

更一般地说,pandas 是否可以有一个索引列,该索引列是日期而不是时间戳?

编辑:对于那些可能访问此问题的人,这是我提出的解决方案:

with io.StringIO() as sout:
  data.to_csv(sout, header=True, index=True)
  with open(fname, 'w') as fout:
    fout.write(sout.getvalue().replace(' 00:00:00',''))

最佳答案

在写入 csv 文件之前映射您的系列/数据框:

In [8]: import pandas as pd

In [9]: import datetime

In [10]: s = pd.Series([datetime.datetime.utcnow()])

In [11]: s.map(lambda x:x.date() if isinstance(x, datetime.datetime) else x).to_csv('test.csv')

测试.csv:

0,2013-03-27

关于python - 如何阻止 python pandas 将 "00:00:00"添加到每个日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651527/

相关文章:

python - 使用 Google Ngrams 训练语言模型

python - 如何在 ubuntu 10.04 中卸载 python 2.6.5 并安装最新版本(2.7.3)

python - 忽略正则表达式中的空格

python - 无法在短轴中找到项目

python - 在 for 循环中搜索字符串,而不在循环中单独引用每个字符串

python - Pandas 数据帧滚动意味着有效

Python 描述符 - 文档不清楚

python - 如何在 pandas 中查找子组统计数据?

python - Pandas 一次初始化多个列

python - 如何从 Pandas 列中提取特定信息?