首页 > 解决方案 > 如何获取表格行中的日期值并将这些日期值转换为新列?

问题描述

我想将表格行中的日期转换为表格列。所以我想得到这个输出:

Name      | Date     | Consumption
Business A|2021-01-01|12
Business B|2021-01-01|15
Business C|2021-01-01|18
Business A|2021-02-01|10
Business B|2021-02-01|14
Business C|2021-02-01|13
Business A|2021-03-01|23
Business B|2021-03-01|21
Business C|2021-03-01|19

并把它变成这个输出:

Name      | Jan-21 | Feb-21 | Mar-21
Business A|12      |10      |23
Business B|15      |14      |21
Business C|18      |13      |19

我想用 python 和 pandas 来做,但我对 pandas 很陌生,以前没有真正使用过。此数据存储在 postgresql 数据库中。

任何帮助将不胜感激!先感谢您!

标签: python-3.xpandaspostgresqldataframe

解决方案


首先通过方法转换“日期”列的值to_datetime()

df['Date']=pd.to_datetime(df['Date']).dt.strftime('%b-%y')

最后使用pivot_table()方法:

df=df.pivot_table(index='Name',columns=['Date'],values='Consumption')

推荐阅读