gpt4 book ai didi

python - 融化 pandas DataFrame 并使用值作为列?

转载 作者:行者123 更新时间:2023-12-01 00:53:13 25 4
gpt4 key购买 nike

我玩 pandas 是为了适应它,我问自己是否可以在 pandas 中使用 Melt 功能而不需要太多麻烦?

我正在使用相当著名的titanic.csv数据集。

titanic = pd.read_csv('data/titanic.csv', keep_default_na=True)
titanic.drop(['embarked', 'who', 'adult_male', 'alone', 'parch', 'deck'], \
axis=1, errors="ignore", inplace=True)
titanic_c = titanic.groupby(['class', 'embark_town', 'gender'])['age'] \
.mean().reset_index()
titanic_c

titanic_c at the momet

所以这是一个问题?

我可以使用 pd.melt 将 embark_town 值添加为如下所示的列吗?如果是的话怎么办?

enter image description here

最佳答案

IIUC,你应该使用df.pivot_table()这里而不是 melt():

m=titanic.pivot_table(index=['pclass','sex'],columns='embark_town',values='age')
print(m)
<小时/>
embark_town    Cherbourg  Queenstown  Southampton
pclass sex
1 female 36.052632 33.000000 32.704545
male 40.111111 44.000000 41.897188
2 female 19.142857 30.000000 29.719697
male 25.937500 57.000000 30.875889
3 female 14.062500 22.850000 23.223684
male 25.016800 28.142857 26.574766

就您的情况而言,您应该将 pclass 更改为 class,将 sex 更改为 gender

关于python - 融化 pandas DataFrame 并使用值作为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414755/

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