【发布时间】:2019-10-03 07:43:22
【问题描述】:
我有 2 个熊猫数据框:df1 和 df2
df1 有这些列:
c1, c2 ,c3 ,c4
而 df2 有这些列:
c2, c3, c4, c5
如何删除这 2 个数据框中不常见的列,使它们都变成这样:
df1: c2, c3, c4
df2: c2, c3, c4
【问题讨论】:
-
但
df1没有c5列?
我有 2 个熊猫数据框:df1 和 df2
df1 有这些列:
c1, c2 ,c3 ,c4
而 df2 有这些列:
c2, c3, c4, c5
如何删除这 2 个数据框中不常见的列,使它们都变成这样:
df1: c2, c3, c4
df2: c2, c3, c4
【问题讨论】:
df1 没有c5 列?
给定以下数据框:
df1 = pd.DataFrame(columns=['c1','c2','c3','c4'])
df2 = pd.DataFrame(columns=['c2','c3','c4','c5'])
创建 交集 df1 和 df2 列名:
common_col = (df2.columns) & (df1.columns)
过滤 df1 和 df2 common_col:
df1 = df1[common_col] # df1.columns: c2, c3, c4
df2 = df2[common_col] # df2.columns: c2, c3, c4
【讨论】:
您可以创建一个列表来仅存储常用列,然后从两个数据框中子集列
# list with only common columns
common_columns = [col for col in df1.columns if col in df2.columns]
# keep only common columns from df1 and df2
df1 = df1[common_columns]
df2 = df2[common_columns]
【讨论】: