亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有效地將 pandas 數據幀轉換為 scipy 稀疏矩陣

有效地將 pandas 數據幀轉換為 scipy 稀疏矩陣

慕哥6287543 2023-12-05 14:56:40
我正在嘗試將 pandas Dataframe 轉換為 scipy 稀疏矩陣,作為有效使用許多功能的方法。但是,我沒有找到一種有效的方法來訪問數據幀中的值,因此在進行轉換時我總是會耗盡內存。我嘗試了下面的兩種解決方案,但它們不起作用。我研究了很多,但沒有發現更好的東西。如果有人有建議,我很樂意測試它。sparse_array = sparse.csc_matrix(df.values) sparse_array = sparse.csc_matrix(df.to_numpy())
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

如果你的數據幀非常稀疏,你可以按列轉換它然后堆疊:


from scipy import sparse


sparse_array = sparse.hstack([sparse.csc_matrix(df[i].values.reshape(-1, 1)) for i in df.columns])

但最好的辦法可能是將其轉換為稀疏數據框:


for i in df.columns:

    df[i] = df[i].astype(pd.SparseDtype(df[i].dtype))


sparse_array = sparse.csc_matrix(df.sparse.to_coo())

(請注意,如果您的數據類型在整個數據框中不均勻,則可能會出現問題)。


查看完整回答
反對 回復 2023-12-05
  • 1 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號