gpt4 book ai didi

python - 如何将列设置为DataFrame中的索引

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:10 24 4
gpt4 key购买 nike

下面是我当前的 pandas DataFrame:

         Balance before Salary   Salary
Month
Jun-18 27.20 15300.0
Jul-18 88.20 15300.0
Aug-18 176.48 14783.0
Sep-18 48.48 16249.0
Oct-18 241.48 14448.0
Nov-18 49.48 15663.0

是否可以将上述 DataFrame 转换为以下格式?

                        Month1  Month2  Month3  Month4  Month5  Month6
Balance before Salary 27.2 88.2 176.48 48.48 241.48 49.48
Salary 15300 15300 14783 16249 14448 15663

代码

df = pd.DataFrame(salary_List)
newdf = df.groupby('date').sum()
newdf = df.groupby(pd.Grouper(key='date', freq='1M')).sum()
newdf.index = newdf.index.strftime('%b-%y')
newdf.index.name = 'Month'

谁能帮我解决这个问题?

最佳答案

我想你需要 transpose by T然后如有必要更改列名添加列表理解:

注意:
不需要两次groupby+sum,一次就够了,因为aggregate是同一个聚合函数,这里是sum

df = pd.DataFrame(salary_List)

newdf = df.groupby(pd.Grouper(key='date', freq='1M')).sum().T
#python 3.6+
newdf.columns = [f'Month{x}' for x in range(1, len(newdf.columns) + 1)]

#python bellow
#newdf.columns = ['Month{}'.format(x) for x in range(1, len(newdf.columns) + 1)]
print (newdf)
Month1 Month2 Month3 Month4 Month5 \
Balance before Salary 27.2 88.2 176.48 48.48 241.48
Salary 15300.0 15300.0 14783.00 16249.00 14448.00

Month6
Balance before Salary 49.48
Salary 15663.00

关于python - 如何将列设置为DataFrame中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004181/

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