熔融熊猫数据帧和分割两行基于
问题描述:
柱
我有以下形式的数据帧:熔融熊猫数据帧和分割两行基于
0
college gender
Engineering F 117
M 2240
,我想将它更改为:
college M:F
Engineering 19:1
其中M:F代表的比率男性与女性。
有没有办法用熊猫做到这一点,而无需遍历所有行?
答
看来你需要unstack
重塑,然后划分:
df = df.unstack()[0]
#same as
#df = df[0].unstack()
df['M:F'] = df['M']/df['F']
#same as
#df['M:F'] = df['M'].div(df['F'])
print (df)
0
college gender
Engineering F 117
M 2240
Engineering1 F 117
M 2240
df = df.unstack()[0]
df['M:F'] = df['M'].div(df['F'])
print (df)
gender F M M:F
college
Engineering 117 2240 19.145299
Engineering1 117 2240 19.145299
print (df[['M:F']])
gender M:F
college
Engineering 19.145299
Engineering1 19.145299
它是如何工作的? – jezrael