如何修复在两列中查找相同的日期,并根据相同的数据帧连接两个数据帧的行的问题

2024-04-26 03:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试合并两个数据帧,在df1中有date列,在df2中有date1列。我想比较df1列date的第一个值和df2 date1列的所有值,如果在date2中找到的相似值只是将df2的相似值行与df1 date的第一行合并。然后对df1 date列的第二个值执行相同的操作,以此类推。。。。如果多次找到值,则添加多行

我已经尝试了for循环和if条件,但是得到了一个非常奇怪的结果,许多带有NAN的行和dataframe行增加了

all_df=pd.DataFrame()

df1=pd.read_csv('.csv')

df2=pd.read_csv('.csv')

for i in range(len(df1)):

    for j in range(len(df2)):

        if df1['date1'].iloc[i] == df2['date'].iloc[j]:        
            print('yes')


            df=pd.concat([df1.iloc[[i]],df2.iloc[[j]]],axis=1)
            all_df=all_df.append(df)
        else:
            print('no')

我只想要df1 date和df2 date2相同的行。你知道吗


Tags: csvindfforreaddateifrange