gpt4 book ai didi

python - DataFrame 按元素除以行总和

转载 作者:太空狗 更新时间:2023-10-29 21:30:36 27 4
gpt4 key购买 nike

我希望每个元素都除以行的总和,下面的代码总是出错。

Pandas 新手,谢谢!

df = pd.DataFrame(np.random.rand(12).reshape(3,4),columns=list('abcd'))
df_row_sum = df.apply(lambda x: x.mean(),axis=1)
df / df_row_sum

最佳答案

我认为你需要 summean 每行 (axis=1) 并除以 DataFrame.div :

np.random.seed(123)
df = pd.DataFrame(np.random.randint(10, size=12).reshape(3,4),columns=list('abcd'))
print (df)
a b c d
0 2 2 6 1
1 3 9 6 1
2 0 1 9 0

print (df.sum(axis=1))
0 11
1 19
2 10
dtype: int64

print (df.div(df.sum(axis=1), axis=0))
a b c d
0 0.181818 0.181818 0.545455 0.090909
1 0.157895 0.473684 0.315789 0.052632
2 0.000000 0.100000 0.900000 0.000000

print (df.mean(axis=1))
0 2.75
1 4.75
2 2.50
dtype: float64

print (df.div(df.mean(axis=1), axis=0))
a b c d
0 0.727273 0.727273 2.181818 0.363636
1 0.631579 1.894737 1.263158 0.210526
2 0.000000 0.400000 3.600000 0.000000

关于python - DataFrame 按元素除以行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241521/

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