首页 > 解决方案 > 为 pandas 中的每个类按平均值查找具有代表性的观察值

问题描述

我有一个多类数据集,我想获得每个类的代表行。例如,

import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4,5,1,2,3,4,5],
              'B':['Apple','Orange','Apple','Banana','Kiwi','Apple','Orange','Apple','Banana','Kiwi'],
              'C':['Boy','Boy','Boy','Girl','Girl','Boy','Boy','Boy','Girl','Girl'],
              'D':[1000,2000,1000,3000,3000,1000,2000,1000,3000,3000],
              'Target':['X','X','Y','Z','X','X','X','Y','Z','X']
              })

在此处输入图像描述

我需要的是使用目标功能找到代理行。

我用过这种方式,但这不是我想要的。

df.groupby('Target').mean()

我应该将分类列转换为数字然后得到平均值吗?我关心的是在变得卑鄙之后如何确定它应该属于哪个分类变量?说,我得到一个列的浮点值,B它应该属于哪个水果?我应该圆吗?在并且想要拥有

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
df['B'] = le.fit_transform(df['B'])
df['C'] = le.fit_transform(df['C'])

结果df.groupby('Target').mean()

在此处输入图像描述

但是我怎样才能像在数据框中一样获得有代表性的观察呢?

标签: pythonpandasdataframe

解决方案


推荐阅读