gpt4 book ai didi

python - 根据另一个数据框的匹配结果在数据框中创建新列

转载 作者:行者123 更新时间:2023-12-01 23:25:40 24 4
gpt4 key购买 nike

我有一个数据框 df1,它存储当前注册的类(class)和之前参加的类(class)。

<表类="s-表"><头>类(class)上一门类(class)<正文>CS201CS101CS201CS102CS201CS103CS202CS101CS202CS102CS202CS103

有些类(class)有prerequisite,也存储在dataframe df2中(是一对多的关系,一个course可以有多个prerequisite)

<表类="s-表"><头>类(class)先决条件<正文>CS201CS101CS202CS102CS202CS103

我想匹配 df1 中的 previous_course 是否是先决条件,并创建另一列(1 或 0)。你能建议我该怎么做吗?非常感谢!

最佳答案

DataFrame.merge中使用指标参数, 比较 both 并转换为整数以将 True, False 映射到 1,0:

df = pd.merge(df1, df2, left_on=['course', 'previous_course'],
right_on=['course', 'prerequiste'],
how='left',
indicator='is_prerequiste')
df['is_prerequiste'] = df['is_prerequiste'].eq('both').astype(int)
print (df)
course previous_course prerequiste is_prerequiste
0 CS201 CS101 CS101 1
1 CS201 CS102 NaN 0
2 CS201 CS103 NaN 0
3 CS202 CS101 NaN 0
4 CS202 CS102 CS102 1
5 CS202 CS103 CS103 1

关于python - 根据另一个数据框的匹配结果在数据框中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67281177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com