每个列 A 值的列 B 值的平均值
Average of column B values per column A value
目标:附加列 Mean
,每列 Model
传播相同的平均值。
我想附加每个 Model
的 Time
分数的 mean
。
Mean
值应该相同,根据 Model
。
df
已在此分组订单中。
df
:
Model | Time
-------------
bert | 0.0001432
bert | 0.0001123
mlp | 0.2321
mlp | 0.2324
想要df
:
Model | Time | Mean
-------------------
bert | 0.0001432 | 0.00012775
bert | 0.0001123 | 0.00012775
mlp | 0.2321 | 0.23225
mlp | 0.2324 | 0.23225
代码:
models = df.Model.unique()
mean = df.groupby('a')['b'].mean()
for m in models:
sums[m]
df2 = df.assign(Average = mean)
如果还有什么我可以添加到 post 来澄清的,请告诉我。
使用 transform('mean')
而不是 mean()
来广播每一行的值:
df['Mean'] = df.groupby('Model').transform('mean')
print(df)
# Output
Model Time Mean
0 bert 0.000143 0.000128
1 bert 0.000112 0.000128
2 mlp 0.232100 0.232250
3 mlp 0.232400 0.232250
值未四舍五入:
with pd.option_context('display.float_format', '{:,.10f}'.format):
display(df)
# Output:
Model Time Mean
0 bert 0.0001432000 0.0001277500
1 bert 0.0001123000 0.0001277500
2 mlp 0.2321000000 0.2322500000
3 mlp 0.2324000000 0.2322500000
目标:附加列 Mean
,每列 Model
传播相同的平均值。
我想附加每个 Model
的 Time
分数的 mean
。
Mean
值应该相同,根据 Model
。
df
已在此分组订单中。
df
:
Model | Time
-------------
bert | 0.0001432
bert | 0.0001123
mlp | 0.2321
mlp | 0.2324
想要df
:
Model | Time | Mean
-------------------
bert | 0.0001432 | 0.00012775
bert | 0.0001123 | 0.00012775
mlp | 0.2321 | 0.23225
mlp | 0.2324 | 0.23225
代码:
models = df.Model.unique()
mean = df.groupby('a')['b'].mean()
for m in models:
sums[m]
df2 = df.assign(Average = mean)
如果还有什么我可以添加到 post 来澄清的,请告诉我。
使用 transform('mean')
而不是 mean()
来广播每一行的值:
df['Mean'] = df.groupby('Model').transform('mean')
print(df)
# Output
Model Time Mean
0 bert 0.000143 0.000128
1 bert 0.000112 0.000128
2 mlp 0.232100 0.232250
3 mlp 0.232400 0.232250
值未四舍五入:
with pd.option_context('display.float_format', '{:,.10f}'.format):
display(df)
# Output:
Model Time Mean
0 bert 0.0001432000 0.0001277500
1 bert 0.0001123000 0.0001277500
2 mlp 0.2321000000 0.2322500000
3 mlp 0.2324000000 0.2322500000