重命名pandas中的SOME列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重命名pandas中的SOME列相关的知识,希望对你有一定的参考价值。

我有一个csv文件,我得到一个报告,它的标题如下所示:

ln;7,26;7,27;7,28;7,29;7,3;7,31;8,01;8,02;8,03;8,04;8,05;8,06;8,07;8,08;8,09;name

这些数字应该是日期(所以7,29是7月29日,7,3是7月30日)。如果我使用熊猫,如何将这些格式转换为实际日期格式?由于它来自报告,我需要一种方法来自动每天格式化它们。

提前致谢!

答案

我们来试试pd.to_datetime

pd.to_datetime(df.columns[1:-1] + ',2018', format='%m,%d,%Y')

DatetimeIndex(['2018-07-26', '2018-07-27', '2018-07-28', '2018-07-29',
               '2018-07-03', '2018-07-31', '2018-08-01', '2018-08-02',
               '2018-08-03', '2018-08-04', '2018-08-05', '2018-08-06',
               '2018-08-07', '2018-08-08', '2018-08-09'],
              dtype='datetime64[ns]', freq=None)

只需返回结果:

c = df.columns.tolist()
c[1:-1] = pd.to_datetime(df.columns[1:-1] + ',2018', format='%m,%d,%Y')
df.columns = c

不幸的是,临时列表是必需的,因为pd.Index不支持可变操作。

以上是关于重命名pandas中的SOME列的主要内容,如果未能解决你的问题,请参考以下文章

在 Pandas 中重命名多个列

从 Pandas 聚合中重命名结果列(“FutureWarning:不推荐使用带有重命名的字典”)

如何使用 Pandas 重命名重置索引上的多个列

python pandas以相同的方式重命名多个列标题

Python 重命名 Pandas DataFrame 列

如何使用字典键和值重命名 pandas DataFrame 中的列?