pandas 数据框架获取一些特定列的数据编号的统计数据

l7wslrjt  于 2023-04-04  发布在  其他
关注(0)|答案(1)|浏览(116)

嗨~今天我做另一个问题。
我想从我的dataframe一些统计数据,但数据的数量是以下相同数量的项目。
我做了上面的问题。并参考图像。

样品:

import pandas as pd

data = {'ITEM': ['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'z', 'z', 'z', 'z'], 'Stat.1': [37, 84, 54, 72, 49, 20, 64, 75, 90, 71, 84, 46, 78, 24, 34], 'Stat.2': [27, 44, 43, 12, 92, 10, 24, 55, 50, 37, 44, 57, 38, 64, 17], 'Stat.3': [17, 54, 64, 68, 39, 50, 34, 65, 40, 72, 44, 56, 48, 94, 37], }
df = pd.DataFrame(data)
kdfy810k

kdfy810k1#

根据@Corralien的评论,仅在最后一行duplicated上使用groupby.transformjoin

m = ~df['ITEM'].duplicated(keep='last')

out = df.join(df.groupby('ITEM').transform('median').add_prefix('Median of ')[m])

输出:

ITEM  Stat.1  Stat.2  Stat.3  Median of Stat.1  Median of Stat.2  Median of Stat.3
0     a      37      27      17               NaN               NaN               NaN
1     a      84      44      54               NaN               NaN               NaN
2     a      54      43      64               NaN               NaN               NaN
3     a      72      12      68               NaN               NaN               NaN
4     a      49      92      39              54.0              43.0              54.0
5     b      20      10      50               NaN               NaN               NaN
6     b      64      24      34               NaN               NaN               NaN
7     b      75      55      65              64.0              24.0              50.0
8     c      90      50      40               NaN               NaN               NaN
9     c      71      37      72              80.5              43.5              56.0
10    d      84      44      44              84.0              44.0              44.0
11    z      46      57      56               NaN               NaN               NaN
12    z      78      38      48               NaN               NaN               NaN
13    z      24      64      94               NaN               NaN               NaN
14    z      34      17      37              40.0              47.5              52.0

相关问题