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

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

熊貓:一列的每個值的nan百分比

熊貓:一列的每個值的nan百分比

手掌心 2023-03-22 16:42:49
目標:獲取 df 的每一列和每個客戶的缺失值百分比我的 df 是關于創建的票證:          id                type  ...      priority          Client0     56 113            Incident  ...          Low           client11     56 267             Demande  ...          High          client12     56 294            Incident  ...          Nan           NaN3     56 197             Demande  ...          Low           client34     56 143             Demande  ...          Nan           client4第一次嘗試 :df.notna().sum()/len(agg_global)*100Out[29]:                       id                       97.053453   type                     76.415869   priority                 82.626625    client                   84.596443 這非常有用,但我想在我的輸出中添加更多詳細信息,在列中使用“客戶端”維度,如下所示:我想創建的輸出:                           Client1   Client2     Client3      NaNid                      100.000000   100.000000  100.000000   66.990424type                     76.415869   66.990424   76.415869    43.761970status                  100.000000   100.000000  66.990424    76.415869category                66.990424   43.761970   76.415869     43.761970entity                   43.761970   100.000000  76.415869    76.415869source_demande           84.596443   100.000000  76.415869    43.761970我嘗試使用“groupby”但無法獲得所需的輸出...:                   id       type  ...      priority         Clientclient                            ...                             True        97.053453  76.415869  ...      29.98632       29.98632任何建議將被認真考慮。感謝您的關注 !
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

您可以刪除Client不測試缺失值百分比的列,通過 測試它們,用 replace sDataFrame.isna聚合平均值以避免丟失它們,最后轉置通過:ClientNaNDataFrame.T

print (df)

? ? ? ?id? ? ? type priority? ?Client

0? ? ?NaN? Incident? ? ? Low? client1

1? ? ?NaN? ? ? ?NaN? ? ?High? client1

2? 56 294? Incident? ? ? Nan? ? ? NaN

3? 56 197? ? ? ?NaN? ? ? Low? client3

4? ? ?NaN? ?Demande? ? ? NaN? client4



df = (df.drop('Client', 1)

? ? ? ? .isna()

? ? ? ? .groupby(df['Client'].fillna('NaN'))

? ? ? ? .mean()

? ? ? ? .rename_axis(None)

? ? ? ? .T)

print (df)

? ? ? ? ? NaN? client1? client3? client4

id? ? ? ? 0.0? ? ? 1.0? ? ? 0.0? ? ? 1.0

type? ? ? 0.0? ? ? 0.5? ? ? 1.0? ? ? 0.0

priority? 0.0? ? ? 0.0? ? ? 0.0? ? ? 1.0


查看完整回答
反對 回復 2023-03-22
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

據我所知,使用蠻力是可能的。我會嘗試使用isna函數和求和來估計每行或每列中 NaN 的數量,然后我會嘗試估計百分比。



查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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