让我们看一下这两个数据框:
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df1
A B
0 1 2
1 3 4
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('CD'))
df2
C D
0 5 6
1 7 8
我想将df2的C列添加到df1的A列,并在B列中放入9。总而言之,我想拥有:
df1
df1
A B
0 1 2
1 3 4
2 5 9
3 7 9
我使用append函数尝试了很多事情,但没有成功找到正确的代码。你能帮我吗?
答案 0 :(得分:1)
df1.append(df2.rename(columns={'C':'A'}).drop(columns='D'), ignore_index=True) \
.fillna(9).astype(int)
A B
0 1 2
1 3 4
2 5 9
3 7 9
答案 1 :(得分:0)
基于@ splash58的答案的另一种选择:
df1.append(df2.rename(columns={'C':'A'}).drop(df2.columns.difference(['C']), 1), ignore_index=True,sort=False) \
.fillna(9).astype(int)