【发布时间】:2018-10-09 07:49:33
【问题描述】:
我正在尝试做一些在 pandas 中应该非常简单的事情,但似乎不是。我有两个大数据框
df1 有 243 列,其中包括:
ID2 K. C type
1 123 1. 2. T
2 132 3. 1. N
3 111 2. 1. U
df2 有 121 列,其中包括:
ID3 A B
1 123 0. 3.
2 111 2. 3.
3 132 1. 2.
df2 包含关于同一 ID (ID2=ID3) 但顺序不同的不同信息
我想在 df2 中创建一个名为 (type) 的新列,并匹配 df1 中的 type 列。如果它与 df1 中的 ID 相同,则应从 df1 复制相同的类型(T、N 或 U)。换句话说,我需要它看起来像下面的数据框但是with all 121 columns from df2+type
ID3 A B type
123 0. 3. T
111 2. 3. U
132 1. 2. N
我试过了
pd.merge 和 pd.join。
我也试过了
df2['type'] = df1['ID2'].map(df2.set_index('ID3')['type'])
但它们都不起作用。 它显示 KeyError: 'ID3'
【问题讨论】: