2024-10-01 11:38:49 发布
网友
我有一个包含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的工作方式)。一般来说,在熊猫身上你要尽量避免循环。.iloc方法允许您根据索引和列的位置索引来选择它们。然后可以使用轴为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)
尝试:
您可能需要将30:35调整为29:35(您可以删除.mean并四处玩,以了解.iloc的工作方式)。一般来说,在熊猫身上你要尽量避免循环。.iloc方法允许您根据索引和列的位置索引来选择它们。然后可以使用轴为1的.mean()对第一个轴(行)求和。你知道吗
你真的应该放一个小例子,我复制的例子,请看下面的评论中提到的解决方案的工作。你知道吗
相关问题 更多 >
编程相关推荐