[英]Do python pandas sparse dataframes lose multi-index column names or am I doing it wrong?
我只想看看在打開問題之前是否有人能看到我所做的錯誤...
最小的示例-首先創建一個多索引數據框:
miindex = pd.MultiIndex.from_product([["x","y"], ["10","20"]],names=['row-foo', 'row-bar'])
micol = pd.MultiIndex.from_product([['a','b','c'], ["1","2"]],names=['col-foo', 'col-bar'])
df = pd.DataFrame(index=miindex, columns=micol).sortlevel().sortlevel(axis=1)
df = df.fillna(value=3.14)
df
這為我們提供了一個很好的帶有列和行級別名稱的測試多索引:
現在,如果我從中制作一個稀疏矩陣並將其顯示出來,列級名稱就消失了:
ds = df.to_sparse()
ds
如果我將稀疏版本轉換回密集版本,則這些級別名稱仍然不存在:
tf = ds.to_dense()
tf
現在,我知道顯示稀疏版本會調用to_dense(),但是丟失似乎是在轉換為稀疏版本時發生的。 我正在探索遷移到稀疏模式以減少代碼庫的內存使用,並且嘗試訪問稀疏數據幀內的級別會產生“ KeyError:'未找到級別'”
有誰知道如何在熊貓稀疏數據框中保留列級名稱?
(測試顯示在熊貓0.17.0上,也在0.16.2上觀察到)
這是熊貓里的蟲子。
問題追蹤器在這里: https : //github.com/pydata/pandas/issues/11600
發送請求請求並將修訂代碼合並到主服務器
看起來修復將在0.17.1中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.