gpt4 book ai didi

Python Pandas Dataframe 有效地更新值

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:04 27 4
gpt4 key购买 nike

这是实现以下目标的最快方法:

我正在使用 Pandas Dataframe (NxN),我想遍历每一行和每个元素以检查元素是否大于行的平均值。如果它更大,我想将元素值更改为 1。

我使用以下方法计算平均值:

mean_value = df.ix[elementid].mean(axis=0)

但是用嵌套循环遍历每个元素并检查它是否 >= mean_value 真的很慢。

最佳答案

可以先数mean按行,然后与 ge 进行比较在哪里mask添加1:

print df
a b c
0 0 1 2
1 0 1 2
2 1 1 2
3 1 0 1
4 1 1 2
5 0 0 1

mean_value = df.mean(axis=1)
print mean_value
0 1.000000
1 1.000000
2 1.333333
3 0.666667
4 1.333333
5 0.333333

mask = df.ge(mean_value, axis=0)
print mask
a b c
0 False True True
1 False True True
2 False False True
3 True False True
4 False False True
5 False False True
print df.mask(mask, 1)
a b c
0 0 1 1
1 0 1 1
2 1 1 1
3 1 0 1
4 1 1 1
5 0 0 1

关于Python Pandas Dataframe 有效地更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483780/

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