第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

防止 NaN 成為數(shù)據(jù)幀數(shù)據(jù)透視表中的索引和列

防止 NaN 成為數(shù)據(jù)幀數(shù)據(jù)透視表中的索引和列

UYOU 2021-08-17 16:56:31
我有一個(gè)數(shù)據(jù)框,我將其擴(kuò)展為包含 2 列中所有增量的值。因此,正如預(yù)期和期望的那樣,引入了 NaN 值。但是,當(dāng)我在這個(gè)數(shù)據(jù)框上使用數(shù)據(jù)透視表時(shí),我會(huì)得到 NaN 的行和列。做樞軸時(shí)我可以防止這種情況嗎?如果沒(méi)有,如何刪除名為 NaN 的列?試圖通過(guò)調(diào)用 [NaN],[nan] 或 ['NaN'] 來(lái)刪除它是行不通的。刪除所有值為 NaN 的列和行在這種情況下不起作用,因?yàn)榱袠?biāo)題和索引用于 seaborn 熱圖,因此即使所有單元格值都是 NaN,將其作為索引和鍵值仍然有用不是 NaN示例代碼;import pandas as pdimport numpy as np#generate dummy datadf = pd.DataFrame({'Y': np.random.randint(130,140,10),                   'X': np.random.randint(5,10,10),                   'Z': np.random.randint(0,25, size=10)})df = df.round(1)#create dataset for heatmap#group by axis to plotdf = df.groupby(['X','Y']).sum().reset_index()df = df.sort_values(by=['Y'])dfY = pd.DataFrame({'Y':np.arange(min(df['Y']), max(df['Y']),1)})dfX = pd.DataFrame({'X':np.arange(min(df['X']), max(df['X']),1)})df = pd.merge(df,dfY, how='outer', on='Y')df = pd.merge(df,dfX, how='outer', on='X')df = df.round(1)print(df)#restructure for heatmapdata = df.pivot("Y","X","Z").sort_values(by=['Y'],ascending=False)print(data)樞軸前的示例數(shù)據(jù)幀:      X      Y     Z0   5.0  132.0   0.01   5.0  135.0  20.02   5.0  137.0  17.03   7.0  132.0  15.04   7.0  133.0   3.05   6.0  133.0  30.06   6.0  135.0  22.07   6.0  138.0  16.08   9.0  135.0   9.09   NaN  134.0   NaN10  NaN  136.0   NaN11  8.0    NaN   NaN樞軸后:X       NaN    5.0   6.0   7.0   8.0   9.0Y                                          138.0   NaN   NaN  16.0   NaN   NaN   NaN 137.0   NaN  17.0   NaN   NaN   NaN   NaN 136.0   NaN   NaN   NaN   NaN   NaN   NaN 135.0   NaN  20.0  22.0   NaN   NaN   9.0 134.0   NaN   NaN   NaN   NaN   NaN   NaN 133.0   NaN   NaN  30.0   3.0   NaN   NaN 132.0   NaN   0.0   NaN  15.0   NaN   NaNNaN      NaN   NaN   NaN   NaN   NaN   NaN期望的輸出:X        5.0   6.0   7.0   8.0   9.0Y                                          138.0   NaN  16.0   NaN   NaN   NaN 137.0  17.0   NaN   NaN   NaN   NaN 136.0   NaN   NaN   NaN   NaN   NaN 135.0  20.0  22.0   NaN   NaN   9.0 134.0   NaN   NaN   NaN   NaN   NaN 133.0   NaN  30.0   3.0   NaN   NaN 132.0   0.0   NaN  15.0   NaN   NaN
查看完整描述

1 回答

?
胡說(shuō)叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

對(duì)我來(lái)說(shuō),drop通過(guò)缺失值工作np.nan:


data = (df.pivot("Y","X","Z")

         .sort_values(by=['Y'],ascending=False)

         .drop(np.nan, axis=1)

         .drop(np.nan))

要么:


data = df.pivot("Y","X","Z").sort_values(by=['Y'],ascending=False)


data = data.reindex(index=data.index.difference([np.nan]),

                    columns=data.columns.difference([np.nan]))


查看完整回答
反對(duì) 回復(fù) 2021-08-17
  • 1 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)