gpt4 book ai didi

python-2.7 - 根据列名堆叠在 Pandas 数据框中

转载 作者:行者123 更新时间:2023-12-01 00:28:51 26 4
gpt4 key购买 nike

我有以下 Pandas 数据框:

 ID   Year  Jan_salary  Jan_days  Feb_salary Feb_days Mar_salary Mar_days
1 2016 4500 22 4200 18 4700 24
2 2016 3800 23 3600 19 4400 23
3 2016 5500 21 5200 17 5300 23

我想将此数据框转换为以下数据框:

ID     Year     month   salary   days
1 2016 01 4500 22
1 2016 02 4200 18
1 2016 03 4700 24
2 2016 01 3800 23
2 2016 02 3600 19
2 2016 03 4400 23
3 2016 01 5500 21
3 2016 02 5200 17
3 2016 03 5300 23

我尝试使用 pandas.DataFrame.stack 但无法获得预期的结果。我正在使用 Python 2.7请指导我 reshape 这个 Pandas 数据框。谢谢。

最佳答案

df = df.set_index(['ID', 'Year'])
df.columns = df.columns.str.split('_', expand=True).rename('month', level=0)
df = df.stack(0).reset_index()
md = dict(Jan='01', Feb='02', Mar='03')
df.month = df.month.map(md)


df[['ID', 'Year', 'month', 'salary', 'days']]

enter image description here

关于python-2.7 - 根据列名堆叠在 Pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com