为了适应它,我在和熊猫一起玩,我问自己是否有可能在没有使用熔化功能的麻烦的情况下在熊猫中做?
我正在使用非常著名的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
所以这是一个问题?
我可以使用pd.melt将
embark_town
值添加为看起来像这样的列吗?如果是,怎么办?最佳答案
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/