首页 > 解决方案 > 从 DataFrame 中提取具有多列的唯一值

问题描述

我有一个数据框,我想从两列中提取值,但标准集是其中一列的唯一值。在下图中,我想从“education-num”中提取“education”的唯一值及其对应值。我可以轻松地提取唯一值,df['education'].unique()但我无法提取“教育编号”。

数据框的图像

(最初的任务是计算受过学士、硕士和博士学位教育的人数,我认为在比较“教育数字”而不是字符串上的逻辑运算符时这会更容易。但如果有任何方法我们可以做到直接来自“教育”,这也是有帮助的。

编辑:结果是帮助按此处Dataframe.isin解决方案中给出的字符串列表选择行。)

PS stack-overflow 不允许我直接发布图像,而是发布了指向它的链接......

标签: pythonpandasdataframemultiple-columns

解决方案


按子集选择列并调用DataFrame.drop_duplicates

df1 = df[['education', 'education-num']].drop_duplicates()

如果需要计算人口使用:

df2 = df.groupby(['education', 'education-num']).size().reset_index(name='count')

推荐阅读