Pandas 比较列中不同值的两个数据帧

Pandas 比较列中不同值的两个数据帧,pandas,dataframe,Pandas,Dataframe,我有两个dataframe,请告诉我如何通过运算符名称比较它们,如果匹配,则添加值​​到第一个数据帧的数量和时间 In [2]: df1 In [3]: df2 Out[2]: Out[3]: Name count time Name count time 0 B

我有两个dataframe,请告诉我如何通过运算符名称比较它们,如果匹配,则添加值​​到第一个数据帧的数量和时间

In [2]: df1                              In [3]: df2
    Out[2]:                                  Out[3]:
       Name   count   time                      Name   count   time           
    0  Bob      123   4:12:10                 0 Rick       9   0:13:00
    1  Alice     99   1:01:12                 1 Jone       7   0:24:21
    2  Sergei    78   0:18:01                 2 Bob       10   0:15:13
    85 rows x 3 columns                       105 rows x 3 columns
我想得到:

In [5]: df1                              
    Out[5]:                                  
       Name   count   time                                 
    0  Bob      133   4:27:23                 
    1  Alice     99   1:01:12                
    2  Sergei    78   0:18:01                 
    85 rows x 3 columns

使用
设置索引
并将它们相加。最后,返回更新

df1 = df1.set_index('Name')
df1.update(df1 + df2.set_index('Name'))
df1 = df1.reset_index()

Out[759]:
     Name  count     time
0     Bob  133.0 04:27:23
1   Alice   99.0 01:01:12
2  Sergei   78.0 00:18:01

注意:我假设
df1
df2
中的
time
列的日期/时间格式已经正确。如果它们是字符串格式,则在运行上述命令之前,需要对其进行转换,如下所示:

df1.time = pd.to_timedelta(df1.time)
df2.time = pd.to_timedelta(df2.time)

看看您可以添加两个数据帧,其中包含一些记录和预期输出吗?@Danila Ganchar对吗?是的,但我迟到了((您是否尝试了
AndyL.
解决方案?是的,谢谢您的帮助