Python 熊猫:如何减去稀疏数据帧的平均列?
在0.25.3中,我不能减去稀疏数据帧的平均列。我试过: df_norm=df.subdf.meanaxis=1,axis=0 但我得到:Python 熊猫:如何减去稀疏数据帧的平均列?,python,pandas,dataframe,sparse-matrix,Python,Pandas,Dataframe,Sparse Matrix,在0.25.3中,我不能减去稀疏数据帧的平均列。我试过: df_norm=df.subdf.meanaxis=1,axis=0 但我得到: AttributeError:模块“pandas.\u libs.sparse”没有属性“sparse\u sub\u float32”如果使用较旧的pandas SparFrame结构,则可能会出现此错误。然而,在最新版本中,我使用了0.25.3,有一种不同的方法来处理稀疏,您的代码运行良好。考虑将数据文件转换为现代稀疏类型。看见 下面是一个工作示例 df
AttributeError:模块“pandas.\u libs.sparse”没有属性“sparse\u sub\u float32”如果使用较旧的pandas SparFrame结构,则可能会出现此错误。然而,在最新版本中,我使用了0.25.3,有一种不同的方法来处理稀疏,您的代码运行良好。考虑将数据文件转换为现代稀疏类型。看见 下面是一个工作示例
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
不,因为你减去平均行,我想要平均列mm,你的代码对我有效,试着重新启动内核。我已经多次重新启动内核,它是一个大型稀疏数据框架。我有版本0.25.3,然后试着将数据转换成这个新的稀疏结构,看看是否有效。我的意思是,如果sparsedaframe被弃用,而现代SparseDtype解决了您的问题,为什么不升级数据呢?我假设我提供的熊猫文档链接显示了转换数据的清晰方式。