首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据另一个数据文件中的列值创建布尔列

如何根据另一个数据文件中的列值创建布尔列
EN

Stack Overflow用户
提问于 2018-09-24 08:51:28
回答 1查看 632关注 0票数 1

假设我有两只熊猫DataFrames,df1df2,一只包含人的名字和年龄,另一只详细说明它们正在研究的内容。怎样才能有效地将两者结合起来,这样我就有了每个人都在学习的布尔字段?

例如,考虑到以下情况

代码语言:javascript
复制
# df1
name  | age
------|----
John  | 24
Kelly | 49
Gemma | 18
Bob   | 29

# df2
name  | studies
------|----------
John  | education
John  | science
Kelly | science
Bob   | law
Bob   | commerce

如何为每个研究领域创建具有布尔值的下列数据?

代码语言:javascript
复制
name  | age | education | science | law   | commerce |
------|-----|-----------|---------|-------|----------|
John  | 24  | True      | True    | False | False    |
Kelly | 49  | False     | True    | False | False    |
Gemma | 18  | False     | False   | False | False    |
Bob   | 29  | False     | False   | True  | True     |
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-24 08:56:27

get_dummiesmax一起使用,然后只为df22中的列替换缺少的值join和替换

代码语言:javascript
复制
s = df2.set_index('name')['studies']
df22 = pd.get_dummies(s, prefix_sep='', prefix='', dtype=bool).max(level=0)
df = df1.join(df22, on='name').fillna(dict.fromkeys(df22.columns, False))
print (df)
    name  age  commerce  education    law  science
0   John   24     False       True  False     True
1  Kelly   49     False      False  False     True
2  Gemma   18     False      False  False    False
3    Bob   29      True      False   True    False
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52475658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档