我有一个包含两列的csv文件。”“组”和“x”。“组”的值为0或1。“x”的值是大约3位数字。我试图计算数据子集的平均值。例如,“x”列中“组”中有0的所有行的平均值,以及“组”中有1的所有行的平均值。目前,“组”中的0被NaN替换,但“x”值不变,因此结果仍然是总平均值,而不是子集
对于数据帧,dict可以指定在不同的列中替换不同的值。例如,{a':1,'b':'z'}查找列“a”中的值1和列“b”中的值“z”,并用值中指定的值替换这些值。在这种情况下,value参数不应为None。您可以将此视为传递两个列表的特殊情况,除非指定要搜索的列
我看到了上面的文档,但我不能使用它,因为“x”列中的值都不同。有1000行。我想这可能和axis有关,但我还是有点模糊
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
normalData = pd.read_csv('NormalSample.csv')
normalData = normalData.replace(0, np.nan)
print(normalData.mean())
因为我相信您只有2列,所以可以这样使用direct apply:
然而,根据我相信你们想要计算的,即组=0的所有x的平均值和组=1的所有x的平均值,我建议如下:
相关问题 更多 >
编程相关推荐