提问者:小点点

合并具有相同索引的数据和删除不具有相同索引的数据


数据帧1:

index                    col1 
03-05-2018 12:00:00         3   
03-05-2018 13:00:00         4    
03-05-2018 14:00:00         3       
03-05-2018 15:00:00         3  
.......                    ..    

数据帧

index                   col2 
03-05-2018 12:00:00        1    
03-05-2018 13:00:00        3    
03-05-2018 13:30:00        4    
03-05-2018 14:30:00        2    
03-05-2018 15:00:00        3   
.....                     ..

我想合并这些数据帧并删除索引不匹配的值:

数据帧3:

index                    col1 col2 
03-05-2018 12:00:00         3    1  
03-05-2018 13:00:00         4    3   
03-05-2018 15:00:00         3    3  
.........                  ..   .. 

有没有像pd.merge这样的功能来实现这一点?(这是一个熊猫数据框,索引是DateTime对象)谢谢!

编辑:我用pd。合并(dataFrame1,dataFrame2,how='internal',on='index',left_index=True,right_index=True),我得到错误“无法将类型'Timestamp'与类型'int'进行比较”。我确信这两个索引都是时间戳


共1个答案

匿名用户

我只需执行内部内部连接基本上是在上的值匹配时执行连接,否则is会删除它(出于本问题的目的删除它)。

a = {'index':['A','C','D','G'],'col1':[3,4,3,3]}
b = {'index':['A','B','C','E','G'],'col2':[1,4,3,2,3]}
df_1 = pd.DataFrame(a)
df_2 = pd.DataFrame(b)
df_3 = df_1.merge(df_2,how='inner',on='index')
print(df_3)

输出:

  index  col1  col2
0     A     3     1
1     C     4     3
2     G     3     3