簡體   English   中英

將列值設置為 Pandas 中組的平均值

[英]Set column value as the mean of a group in pandas

我有一個列X Y temperature Label的數據框

標簽是 1 到 9 之間的整數

我想添加一個額外的列my_label_mean_temperature它將包含每行具有相同標簽的行的溫度平均值。

我很確定我需要從my_df.groupby('label')開始,但不確定如何計算溫度平均值並傳播原始數據框所有行上的值

您的問題可以通過 pandas 的transform方法來解決。

你可以嘗試這樣的事情:

df['my_label_mean_temperature'] = df.groupby(['label']).transform('mean')

像這樣的東西?

df = pd.DataFrame(data={'x':np.random.rand(19),
                        'y':np.arange(19),
                        'temp':[22,33,22,55,3,7,55,1,33,4,5,6,7,8,9,4,3,6,2],
                        'label': [1,2,3,4,2,3,9,3,2,9,2,3,9,4,1,2,9,7, 1]})

df['my_label_mean_temperature'] = df.groupby(['label'], sort=False)['temp'].transform('mean')

df['my_label_mean_temperature']= df.groupby('label', as_index=False)['溫度'].mean()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM