python - 从 DataFrame 中提取具有多列的唯一值
问题描述
我有一个数据框,我想从两列中提取值,但标准集是其中一列的唯一值。在下图中,我想从“education-num”中提取“education”的唯一值及其对应值。我可以轻松地提取唯一值,df['education'].unique()
但我无法提取“教育编号”。
(最初的任务是计算受过学士、硕士和博士学位教育的人数,我认为在比较“教育数字”而不是字符串上的逻辑运算符时这会更容易。但如果有任何方法我们可以做到直接来自“教育”,这也是有帮助的。
编辑:结果是帮助按此处Dataframe.isin
解决方案中给出的字符串列表选择行。)
PS stack-overflow 不允许我直接发布图像,而是发布了指向它的链接......
解决方案
按子集选择列并调用DataFrame.drop_duplicates
:
df1 = df[['education', 'education-num']].drop_duplicates()
如果需要计算人口使用:
df2 = df.groupby(['education', 'education-num']).size().reset_index(name='count')
推荐阅读
- jsf - JSF 问题。XML 文件似乎没有任何与之关联的样式信息
- php - 使用带有 livewire 的特征
- javascript - 在 useEffect 依赖数组中使用 Redux 状态时如何避免无限循环?
- php - 关系访问器在 Laravel 中不起作用
- python - 为什么 fit_transform() 不适用于测试集?
- java - MIME 类型的验证
- java - 在 JMS 中设置 IBM MQ 定制属性不起作用
- r - 如何将向量添加到 R 中的向量列表中?
- flutter - 如何在颤振中从 code_field 包向 InputCodeField 添加处理程序?
- sql - Oracle:根据数据集替换选项字符串 - 这可能吗?