我有一个约50列约3000行的数据框。大多数单元都是空的,但不是全部。我正在尝试在数据框的末尾添加新行,并使用每列的平均值,并且需要它来忽略空单元格。
我正在使用df.mean(axis = 0),它以某种方式将数据帧的所有值转换为虚数。所有值保持不变,但添加了+ 0j。我不知道为什么。
Turbine.loc['Mean_Values'] = Turbine.mean(axis=0)
我找不到解决方案,是因为没有单元格吗?
答案 0 :(得分:0)
基于this,df.mean()
将自动跳过参数值为skipna=True
的NaN / Null值。示例:
df=pd.DataFrame({'value':[1,2,3,np.nan,5,6,np.nan]})
df=df.append({'value':df.mean(numeric_only=True).value}, ignore_index=True,)
print(df)
输出:
value
0 1.0
1 2.0
2 3.0
3 NaN
4 5.0
5 6.0
6 NaN
7 3.4
但是,如果单元格中有复数,则df.mean()
的结果将转换为复数。示例:
df=pd.DataFrame({'value':[1,2,3,np.nan,5,6,np.nan, complex(1,0)]})
print(df)
print('\n')
df=df.append({'value':df.mean(numeric_only=True).value}, ignore_index=True,)
print(df)
在单元格中具有复杂值的输出:
value
0 (1+0j)
1 (2+0j)
2 (3+0j)
3 NaN
4 (5+0j)
5 (6+0j)
6 NaN
7 (1+0j)
value
0 (1+0j)
1 (2+0j)
2 (3+0j)
3 NaN
4 (5+0j)
5 (6+0j)
6 NaN
7 (1+0j)
8 (3+0j)
希望这可以为您提供帮助:)
答案 1 :(得分:0)
某些单元格中包含有关方向(北,西...)的信息,这些信息被解释为虚数。