我有一個示例 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整個 DF 的DataFrame格式:pd.DataFrame(df.mean(axis=0)).transpose()在: A B0 5.333333 5.6OP對于column來說是正確的,A但是對于column來說,BOP是5.6因為28/5它最初是6行,并且忽略了具有值的行NaN,有沒有辦法也包含該行?預期的 OP - 其中列的位置A和32/6列B的位置28/6: A B0 5.333333 4.66666666
1 回答

叮當貓咪
TA貢獻1776條經驗 獲得超12個贊
更簡單的方法是將缺失值替換為0
,然后Series.to_frame
對于一列DataFrame
并轉置:
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
添加回答
舉報
0/150
提交
取消