通过dataframe获得每个组的平均值和最常用值

2024-10-02 10:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有两列的数据帧

df=pd.DataFrame({'values':arrays,'ii':lin_index})

我想用linu指数对这些值进行分组,得到每组的平均值和每组最常见的值 我试试这个

bii=df.groupby('ii').median()
bii2=df.groupby('ii').agg(lambda x:x.value_counts().index[0])
bii3=df.groupby('ii')['values'].agg(pd.Series.mode)

我想知道bii2和bii3是否返回相同的值 然后我要将平均值和最常用值返回到原始数组

bs=np.zeros((np.unique(array).shape[0],1))
bs[bii.index.values]=bii.values

这个好看吗

df看起来像

          values        ii
0            1.0  10446786
1            1.0  11316289
2            1.0  16416704
3            1.0  12151686
4            1.0  30312736
     ...       ...
93071038     3.0  28539525
93071039     3.0  19667948
93071040     3.0  22240849
93071041     3.0  22212513
93071042     3.0  41641943

[93071043 rows x 2 columns]

Tags: 数据dataframedfindexbsnpaggii

热门问题