我有 2 个不同大小的 Pandas 数据框 (df1,df2)。两者都有一个相同的列,df1 中的“代码”列和 df2 中的“实践”列
df1
代码 | 姓名 | addr_1 | addr_2 | 区 | 村 | 邮政编码 | |
---|---|---|---|---|---|---|---|
0 | A81002 | 皇后公园医疗中心 | 皇后公园医疗中心法拉街 | STOCKTON ON TEES | 克利夫兰 | TS18 2AW | |
1 | A81003 | 维多利亚医疗实践 | 健康中心维多利亚路 | 哈特尔普尔 | 克利夫兰 | TS26 8DB |
df2
练习 | bnf_code | bnf_name | 项目 | nic | act_cost | 数量 | |
---|---|---|---|---|---|---|---|
0 | N85638 | 0301011R0 | Salamol_Inha 100mcg (200 D) CFF (Teva) | 2 | 2.92 | 2.73 | 2 |
1 | N85638 | 0301011R0 | Easyhaler_Salbutamol Sulf 200mcg (200D) | 1 | 6.63 | 6.15 | 1 |
我想使用 df1 'code' 和 'post_code' 在 df2 中创建一个新列 'post_code',以便与 df2 'practice' 具有相同 'code' 值的 df1 行将具有相同的邮政编码。
答案 0 :(得分:0)
首先你需要导入包。 读取两个数据集。 将所需的列从 df1 连接到 df2, 然后比较两列并创建代表相同或不同值的新列。
import pandas as pd
import numpy as np
df1=pd.read_csv("PATH TO DATASET")
df2=pd.read_csv("PATH TO DATASET")
df2=pd.concat([df1["code"],df2],axis=1)
df2["post_code"]=np.where(df2["practice"]==df2["code"],"same","not same")