假设我有一个包含以下列的数据框:
另一个数据框具有以下列:
如何将第二个数据框的行添加到只有5列的第一个数据框中?我不希望最终的数据框中包含J和L列。
还假设有许多其他我不想要的列,那么有没有一种方法可以不指定列名来实现这个目标?
A | B | C | X | F |
---|
A | J | L | B | C |
---|
还假设有许多其他我不想要的列,那么有没有一种方法可以不指定列名来实现这个目标?
Index.intersection
函数,通过df1.columns
过滤出df2
的列。#if all columns from df1 are in df2
df22 = df2[df1.columns]
#if NOT all columns from df1 are in df2
df22 = df2[df2.columns.intersection(df1.columns)]
然后使用DataFrame.append
函数:
df = df1.append(df22, ignore_index=True)
concat
函数:df = pd.concat([df1, df22], ignore_index=True)
df1
中追加新行后按列进行过滤:df = pd.concat([df1, df2], ignore_index=True)[df1.columns]
df = pd.concat([df1, df2, df3], ignore_index=True)[df1.columns]
,我猜对了吧? :) - caasswa