如何根据一列从2个数据帧中获取不匹配的数据。 (熊猫)

时间:2017-06-20 22:02:29

标签: python csv pandas dataframe

我有2个数据帧样本输出在这里 first Dataframe Second dataframe 我获取这些和格式化日期列的代码在这里

首先df:

csv_data_df = pd.read_csv(os.path.join(path_to_data+'\\Data\\',appendedfile)) csv_data_df['Date_Formatted'] = pd.to_datetime(csv_data_df['DATE']).dt.strftime('%Y-%m-%d') csv_data_df.head(3)

第二个df:

new_Data_df = pd.read_csv(io.StringIO(response.decode('utf-8')))
new_Data_df['Date_Formatted'] = 
pd.to_datetime(new_Data_df['DATE']).dt.strftime('%Y-%m-%d')
new_Data_df.head(3)`

我想构建第三个数据框,其中只有第二个数据框中具有不匹配日期的行需要进入第三个数据框。 有没有办法做到这一点。您可以在屏幕截图中看到日期格式化列。

1 个答案:

答案 0 :(得分:1)

然后,您可以将两个数据帧的索引设置为所需的连接列 使用df1.combine_first(df2)。对于您在此处的具体示例,它可能如下所示。

#0

例如:

csv_data_df.set_index('Date_Formatted').combine_first(new_Data_df.set_index('Date_Formatted')).reset_index()