Select 多个条件 - 2 个数据帧 - 创建新列
Select Multiple Conditions - 2 DataFrames - Create New Column
我有 2 个 DataFrame:
DF1 - 大师列表
ID Item
100 Wood
101 Steel
102 Brick
103 Soil
DF2
ID
100
103
我希望我的最终 DataFrame 看起来像这样:
ID Item / ID
100 100 - Wood
103 103 - Soil
我遇到的问题是 DF2 没有项目列。
我可以通过 np.select(conditions, choices, default='N/A')
手动完成,但完整的数据集很大,会花费很多时间。
我还尝试了来自 2 个不同数据集的 np.select
,引用了列,但出现了 Can only compare identically-labeled DataFrame objects.
错误。
有没有办法从 Item
中提取相关信息,以便我可以加入 ID
中的字符串值以创建 Item / ID
提前致谢
dff = pd.merge(df1, df2, how = 'right', on = 'ID')
dff['Item / ID'] = dff['ID'].astype(str) + ' - ' + dff['Item']
dff.drop('Item', axis=1, inplace=True)
print(dff)
输出:
ID Item / ID
0 100 100 - Wood
1 103 103 - Soil
我有 2 个 DataFrame:
DF1 - 大师列表
ID Item
100 Wood
101 Steel
102 Brick
103 Soil
DF2
ID
100
103
我希望我的最终 DataFrame 看起来像这样:
ID Item / ID
100 100 - Wood
103 103 - Soil
我遇到的问题是 DF2 没有项目列。
我可以通过 np.select(conditions, choices, default='N/A')
手动完成,但完整的数据集很大,会花费很多时间。
我还尝试了来自 2 个不同数据集的 np.select
,引用了列,但出现了 Can only compare identically-labeled DataFrame objects.
错误。
有没有办法从 Item
中提取相关信息,以便我可以加入 ID
中的字符串值以创建 Item / ID
提前致谢
dff = pd.merge(df1, df2, how = 'right', on = 'ID')
dff['Item / ID'] = dff['ID'].astype(str) + ' - ' + dff['Item']
dff.drop('Item', axis=1, inplace=True)
print(dff)
输出:
ID Item / ID
0 100 100 - Wood
1 103 103 - Soil