熊猫:如何减去稀疏数据帧的均值列?

时间:2020-01-25 19:32:04

标签: python pandas dataframe sparse-matrix

在熊猫0.25.3中,我不能减去稀疏数据帧的均值列。我尝试过:

<cfoutput> <cfloop query="GetData"> #evaluate("#variabnas#")# </cfloop> </cfoutput>

但是我得到了

df_norm= df.sub(df.mean(axis=1), axis=0)

1 个答案:

答案 0 :(得分:1)

如果使用较旧的Pandas SparseDataFrame结构,则可能会出现此错误。但是,在最新的Pandas(我使用0.25.3)中,有另一种处理稀疏的方法,您的代码可以正常工作。考虑将您的数据框转换为现代的稀疏类型。参见https://pandas.pydata.org/pandas-docs/stable/user_guide/sparse.html#sparse-migration。 下面是一个有效的示例

df = pd.DataFrame (np.random.randint(0,100,(5,5)))
dtype = pd.SparseDtype(int, fill_value=0)   # define sparse type
df = df.astype(dtype)  # to new sparse type
print(df.sub(df.mean(axis=1), axis=0))

      0     1     2     3     4
0 -28.6  43.4 -42.6 -14.6  42.4
1  29.4  25.4 -48.6  -4.6  -1.6
2 -12.4  52.6 -15.4 -17.4  -7.4
3 -20.8  -2.8  10.2  -6.8  20.2
4  35.8  -4.2  19.8 -16.2 -35.2