我有一個(gè)示例 pandas DF:df = pd.DataFrame(np.random.randint(0,10,size =(6,2)),columns=["A","B"])df.loc[2,"B"]=np.NaNdf樣本 DF: A B0 5 0.01 4 8.02 6 NaN3 8 9.04 4 7.05 5 4.0我正在嘗試獲取mean整個(gè) DF 的DataFrame格式:pd.DataFrame(df.mean(axis=0)).transpose()在: A B0 5.333333 5.6OP對于column來說是正確的,A但是對于column來說,BOP是5.6因?yàn)?8/5它最初是6行,并且忽略了具有值的行NaN,有沒有辦法也包含該行?預(yù)期的 OP - 其中列的位置A和32/6列B的位置28/6: A B0 5.333333 4.66666666
1 回答

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
更簡單的方法是將缺失值替換為0
,然后Series.to_frame
對于一列DataFrame
并轉(zhuǎn)置:
df = df.fillna(0).mean().to_frame().T
print (df)
? ? ? ? ? A? ? ? ? ?B
0? 5.333333? 4.666667
解決方案將 DataFrame 的總和除以長度:
df = df.sum().div(len(df)).to_frame().T
print (df)
? ? ? ? ? A? ? ? ? ?B
0? 5.333333? 4.666667
添加回答
舉報(bào)
0/150
提交
取消