fil*_*ppo 0 python numpy pandas
我对 Pandas 还很陌生,不幸的是目前我没有太多时间来深入研究它。
我有一个像这样的数据框:
x y z class id other-numeric-field
0 8 8 5 1 1014f 0.388640
1 2 3 4 0 3ba1d 0.431008
2 5 1 6 1 1014f 0.388640
3 7 9 6 1 1014f 0.388640
4 6 9 1 0 7a5d7 0.476972
Run Code Online (Sandbox Code Playgroud)
我想将所有行替换为class
与列的平均值相同的行['x', 'y', 'z']
。
数据框可以包含其他列,无论是否为数字,这些列在同一类中通常都是相等的,但如果它们不是,我真的不在乎丢失。如果它也适用于非数字字段,我可以保留第一次出现或只是对它们进行平均。
那是你要的吗?
In [18]: df[['x','y','z']] = df.groupby('class')[['x','y','z']].transform('mean')
In [19]: df
Out[19]:
x y z class id other-numeric-field
0 6.666667 6 5.666667 1 1014f 0.388640
1 4.000000 6 2.500000 0 3ba1d 0.431008
2 6.666667 6 5.666667 1 1014f 0.388640
3 6.666667 6 5.666667 1 1014f 0.388640
4 4.000000 6 2.500000 0 7a5d7 0.476972
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1025 次 |
最近记录: |