用于循环的Python
我试图在我的dataframe中创建一个列,它将代表另一列中的某些类别计算值 比如说,我有一个列X,它有不同类型的材料,每种类型都有价格。现在,我想根据每组和“材质”列添加一列,说明特定类型材质的中间值 列将类似于物料|价格|中间价格| 帮助我生成列中位价格用于循环的Python,python,pandas,for-loop,apply,Python,Pandas,For Loop,Apply,我试图在我的dataframe中创建一个列,它将代表另一列中的某些类别计算值 比如说,我有一个列X,它有不同类型的材料,每种类型都有价格。现在,我想根据每组和“材质”列添加一列,说明特定类型材质的中间值 列将类似于物料|价格|中间价格| 帮助我生成列中位价格 Material,Prices,Median _Prices a,12,12.5 a,13,12.5 b,34,34 b,565,34 b,8,34 c,87,66 c,66,66 c,7,66 这样做不需要循环。让我们使用groupb
Material,Prices,Median _Prices
a,12,12.5
a,13,12.5
b,34,34
b,565,34
b,8,34
c,87,66
c,66,66
c,7,66
这样做不需要循环。让我们使用
groupby
和transform
:
df['Median_Prices_Calc'] = df.groupby('Material')['Prices'].transform('median')
输出:
Material Prices Median_Prices Median_Prices_Calc
0 a 12 12.5 12.5
1 a 13 12.5 12.5
2 b 34 34.0 34.0
3 b 565 34.0 34.0
4 b 8 34.0 34.0
5 c 87 66.0 66.0
6 c 66 66.0 66.0
7 c 7 66.0 66.0