我需要转换部分数据,使其与此解决方案兼容:https://stackoverflow.com/a/64854873
数据为pandas.core.frame.DataFrame
,其中:
result data_1 data_2
1 1.523 4 1223
3 1.33 84 1534
可能会删除某些索引值,因此1、3 ...
它应该是一个包含数据值和结果的元组。解决方案中的类型是scipy.sparse._coo.coo_matrix
,例如:
(4, 1223) 1.523
(84, 1534) 1.33
只是scipy.sparse.coo_matrix(df.values)
似乎混淆了数据。
(0, 0) 1.523
(0, 1) 1.53
(0, 24) 1.92
: :
(2, 151) 123.0
(2, 142) 834.0
如何生成兼容矩阵?
3条答案
按热度按时间u4dcyp6a1#
试试看:
结果:
资料来源:
How to form tuple column from two columns in Pandas
Convert pandas dataframe to NumPy array
wz8daaqr2#
您可以过滤掉数据列,然后在
axis=1
上应用tuple
,这实际上将创建行值的元组,我将其作为新列分配,因为您提到的输出不清楚是数组还是 Dataframe ,但我认为您应该能够继续获得所需的剩余结果。qv7cva1a3#
您可以使用以下命令重新创建稀疏矩阵(而不仅仅是复制其显示):
可以从 Dataframe 的列派生的3个数组:
实际矩阵:
repr
显示:和
str
显示器:这个
M.shape
是从数组的最大值导出的;实际上,您可能希望指定更大的形状。M.toarray()
从这个创建了一个numpy数组,但是使用那个形状,它将太大而无法显示。我不确定 Dataframe 是如何从这样一个矩阵中导出的。