我有這個代碼:
df.droupby('type)['feature1].mean()
df有 15features個1 to 15
我想遍歷功能名稱串列并將這 15 個結果附加到資料框中:
所需輸出:型別(資料框)
type feature1 features2 ..... feature15
type_A mean(float) mean(float) mean(float)
type_B mean(float) mean(float) mean(float)
type_c mean(float) mean(float) mean(float)
我做了什么:
我有功能串列:
list = df.iloc[:, 10:24].columns.to_list()
并嘗試了這樣的事情:
for i in len(list):
df.groupby('type')[list[i]].mean()
看看我是否得到了什么,這行回傳一個錯誤:
'int' object is not iterable
誰能幫我這個?
uj5u.com熱心網友回復:
IIUC,您可以簡單地使用groupby mean:
out = df.groupby('type', as_index=False).mean()
但是,如果您有一堆不想包含在計算中的其他列,并且只想要“特征...”列的平均值,您可以filter,然后groupby mean:
out = df.filter(like='feature').groupby(df['type']).mean().reset_index()
輸出:
type feature1 feature2
0 A 10.0 11.0
1 B 12.0 14.0
2 C 13.0 13.0
3 D 12.0 19.0
4 E 10.0 10.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446237.html
