【发布时间】:2019-01-09 06:05:49
【问题描述】:
entity_data = {'STATE_CD_E': ['NY', 'NY', 'NY'],
'INTERMEDIATE_NUMBER_E': ['1111', '2222', '3333'],
'DISTRICT_NUMBER_E': ['123456789012', '123412341234',
'121212121212'],
'FINANCE_NUMBER_E': ['123456', '123412', '121212'] }
df_entity = pd.DataFrame(entity_data, index = ['School_1', 'School_2',
'School_3'])
finance_data = {'STATE_CD_F': ['NY', 'NY', 'NY'],
'INTERMEDIATE_NUMBER_F': ['1111', '2222', '3333'],
'DISTRICT_NUMBER_F': ['123456', '123412', '121212'] }
df_finance = pd.DataFrame(finance_data, index = ['School_1', 'School_2',
'School_3'])
print("\n")
print(df_entity)
print("\n")
print(df_finance)
print("\n")
print("\n")
print("\n")
df_merge = pd.merge(df_entity, df_finance[['INTERMEDIATE_NUMBER_F',
'DISTRICT_NUMBER_F']], right_on = ['DISTRICT_NUMBER_F'], left_on=
['FINANCE_NUMBER_E'], how='left')
上面是我正在使用的代码。我正在尝试使用熊猫合并两个数据框。但是,我想在 DISTRICT_NUMBER_E 的左侧 6 位数字上加入 DISTRICT_NUMBER_F。有没有办法做到这一点?如果没有,我是否可以在 entity_data 数据框中创建一个新列,该列采用 DISTRICT_NUMBER_E 的左 6 位数字,然后在该列上进行匹配?
【问题讨论】:
标签: sql python-3.x pandas dataframe merge