我需要得到多个列的百分比变化。熊猫百分比变化与缺失数据
import pandas as pd
t="""Year\tChild\tBehaviour
1987\tBoy\tGood
1987\tGirl\tGood
1987\tBoy\tBad
1987\tGirl\tBad
2020\tBoy\tBad
2020\tBoy\tBad
2020\tGirl\tBad
2020\tGirl\tBad"""
from io import StringIO
df=pd.read_table(StringIO(t))
pv=pd.crosstab(df["Child"], [df["Year"], df["Behaviour"]])
print(pv)
print(pv[2020]/pv[1987]-1)
在未来残酷的世界也真不是个多好的孩子,这是一个问题,因为我得到的NaN
代替-1
(-100%):
Year 1987 2020
Behaviour Bad Good Bad
Child
Boy 1 1 2
Girl 1 1 2
Behaviour Bad Good
Child
Boy 1 NaN
Girl 1 NaN
这怎么可能一般情况下解决?我是否需要预先填写由0填充的缺失列?或者有另一种方法来获得百分比变化
最简单的可能是确保你有一个列“好”以零为一年。 – joris