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

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

為每行值生成描述性統計數據并動態轉置

為每行值生成描述性統計數據并動態轉置

一只名叫tom的貓 2022-06-22 20:44:33
我有一個如下所示的數據框df = pd.DataFrame({'subject_id':[1,1,1,1,2,2,2,2,3,3,4,4,4,4,4],'readings' : ['READ_1','READ_2','READ_1','READ_3','READ_1','READ_5','READ_6','READ_8','READ_10','READ_12','READ_11','READ_14','READ_09','READ_08','READ_07'],'val' :[5,6,7,11,5,7,16,12,13,56,32,13,45,43,46],})我想做的是獲取現有列的描述性統計/匯總形式,而不是擁有原始列。我希望看到 ( min, max, 25%, 75%, std, var) 作為每個主題的新列我嘗試了以下但輸出不準確df.groupby(['subject_id','readings']).describe().reset_index()   #this gives some output but it isn't exactdf.groupby(['subject_id','readings']).pivot_table(values='val', index='subject_id', columns='readings').describe()  # this throws error我希望我的輸出如下所示?;旧纤鼘⑹且粋€寬而稀疏的矩陣。由于屏幕截圖很寬,我無法進一步放大。如果單擊圖像,您將更好地顯示預期輸出
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

用于Series.unstackreshape after describe, thenDataFrame.swaplevel和 for order like in original add DataFrame.reindex:


df = (df.groupby(['subject_id','readings'])['val']

        .describe()

        .unstack()

        .swaplevel(0,1,axis=1)

        .reindex(df['readings'].unique(), axis=1, level=0))

df.columns = df.columns.map('_'.join)

df = df.reset_index()

print (df)


   subject_id  READ_1_count  READ_1_mean  READ_1_std  READ_1_min  READ_1_25%  \

0           1           2.0          6.0    1.414214         5.0         5.5   

1           2           1.0          5.0         NaN         5.0         5.0   

2           3           NaN          NaN         NaN         NaN         NaN   

3           4           NaN          NaN         NaN         NaN         NaN   


   READ_1_50%  READ_1_75%  READ_1_max  READ_2_count  ...  READ_08_75%  \

0         6.0         6.5         7.0           1.0  ...          NaN   

1         5.0         5.0         5.0           NaN  ...          NaN   

2         NaN         NaN         NaN           NaN  ...          NaN   

3         NaN         NaN         NaN           NaN  ...         43.0   


   READ_08_max  READ_07_count  READ_07_mean  READ_07_std  READ_07_min  \

0          NaN            NaN           NaN          NaN          NaN   

1          NaN            NaN           NaN          NaN          NaN   

2          NaN            NaN           NaN          NaN          NaN   

3         43.0            1.0          46.0          NaN         46.0   


   READ_07_25%  READ_07_50%  READ_07_75%  READ_07_max  

0          NaN          NaN          NaN          NaN  

1          NaN          NaN          NaN          NaN  

2          NaN          NaN          NaN          NaN  

3         46.0         46.0         46.0         46.0  


[4 rows x 105 columns]


查看完整回答
反對 回復 2022-06-22
  • 1 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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