熊猫数据框-合并两个数据框,但在同一列中省略输入

时间:2020-07-10 12:30:38

标签: python pandas

我正在尝试从两个现有的框架中创建一个DataFrame。我读了网上的一些文章的标题,第一列是标题,后面的是时间戳记

我想同时合并两个数据框,但忽略标题相同的列(第一列)

我尝试过

df = pd.concat([df1,df2])。drop_duplicates()。reset_index(drop = True)

但是由于其他列可能并非一直都完全相同,因此我需要省略每个具有相同第一列的数据包。我该怎么办?

对不起,我不知道我所遇到的问题的正确答案

2 个答案:

答案 0 :(得分:0)

您应该首先从df2中删除重复的行,然后与df1合并:

df = pd.concat([df1, df2[~df2.title.isin(df1.title)]]).reset_index(drop=True)

答案 1 :(得分:0)

这可能解决了您的问题:

import pandas as pd
import numpy as np
df=pd.DataFrame(np.arange(2*5).reshape(2,5))
df2=pd.DataFrame(np.arange(2*5).reshape(2,5))
df.columns=['blah1','blah2','blah3','blah4','blah']
df2.columns=['blah5','blah6','blah7','blah8','blah']

for i in range(len(df.columns)):
    for j in range(len(df2.columns)):
        if df.columns[i] == df2.columns[j]:
            df2 = df2.drop(df2.columns[j], axis = 1)
        else:
            continue

print(pd.concat([df, df2], axis =1))