Python 透视和重命名数据帧
我有一个数据帧的格式Python 透视和重命名数据帧,python,pandas,pivot-table,Python,Pandas,Pivot Table,我有一个数据帧的格式 Date Datediff Cumulative_sum 01 January 2019 1 5 02 January 2019 1 7 02 January 2019 2 15 01 January 2019 2 8 01 January
Date Datediff Cumulative_sum
01 January 2019 1 5
02 January 2019 1 7
02 January 2019 2 15
01 January 2019 2 8
01 January 2019 3 13
我想从dataframe透视列Datediff,这样最终结果如下所示
Index Day-1 Day-2 Day-3
01 January 2019 5 8 13
02 January 2019 7 15
我使用了pivot命令shuch
pt = pd.pivot_table(df, index = "Date",
columns = "Datediff",
values = "Cumulative_sum") \
.reset_index() \
.set_index("Date"))
它返回数据透视表
1 2 3
01 January 2019 5 8 13
02 January 2019 7 15
然后我可以使用循环重命名这些列
for column in pt:
pt.rename(columns = {column : "Day-" + str(column)}, inplace = True)
这正是我想要的。但是,我想知道是否有一种更快的方法可以在旋转时重命名列,并完全消除循环。使用:
在您的解决方案中:
pt = (pd.pivot_table(df, index = "Date",
columns = "Datediff",
values = "Cumulative_sum")
.add_prefix('Day-'))
可能是stackoverflow上有史以来最快的回复,而且它的效果也很不错。谢谢
pt = (pd.pivot_table(df, index = "Date",
columns = "Datediff",
values = "Cumulative_sum")
.add_prefix('Day-'))