我正在尝试从两个现有的框架中创建一个DataFrame。我读了网上的一些文章的标题,第一列是标题,后面的是时间戳记
我想同时合并两个数据框,但忽略标题相同的列(第一列)
我尝试过
df = pd.concat([df1,df2])。drop_duplicates()。reset_index(drop = True)
但是由于其他列可能并非一直都完全相同,因此我需要省略每个具有相同第一列的数据包。我该怎么办?
对不起,我不知道我所遇到的问题的正确答案
答案 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))