gpt4 book ai didi

python - 如何在python中查找iterrows内列中值的平均值

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:59 30 4
gpt4 key购买 nike

我有一个包含 100 多列的数据框,其中 col10 之后的所有列都是 float 类型。我想做的是找到循环内某些列范围的平均值。这是我迄今为止尝试过的,

for index,row in df.iterrows():
a = row.iloc[col30:col35].mean(axis=0)

不幸的是,这会返回意外的值,并且我无法获得每一行的 col30、col31、col32、col33、col34、col35 的平均值。有人可以帮忙吗?

最佳答案

尝试:

df.iloc[:, 30:35].mean(axis=1)

您可能需要将 30:35 调整为 29:35(您可以删除 .mean 并尝试一下以了解 .iloc 的工作原理)。一般来说,在 pandas 中,您希望尽可能避免循环。 .iloc 方法允许您根据位置索引选择索引和列。然后,您可以使用 axis=1 的 .mean() 对第一个轴(行)求和。

您确实应该在我重现该示例的地方放置一个小示例,请参阅下面的评论中提到的解决方案的工作原理。

import pandas as pd
df = pd.DataFrame({i:val for i,val in enumerate(range(100))}, index=list(range(100)))
for i,row in df.iterrows():
a = row.iloc[29:25].mean() # a should be 31.5 for each row
print(a)

关于python - 如何在python中查找iterrows内列中值的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58105241/

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