【问题标题】:Compare two dataframes to get comparison value in in another dataframe比较两个数据帧以获得另一个数据帧中的比较值
【发布时间】:2018-02-10 01:45:14
【问题描述】:

我有两个数据框,df1df2,每个数据框都采用以下格式,具有相同的索引和不同的值:

       Value
Date
01-01    60
01-02    70
01-03   -80 

我需要比较 df1 < df2 的值的两个数据帧,并仅在第三个数据帧 df_new 中获取比较正确的值与它们各自的索引。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    我建议您根据索引合并两个数据框,以便比较每列之间的值。

    试试这个:

    import pandas
    
    df1 = pandas.DataFrame(
      data=[60, 70, -80],
      index=['01-01', '01-02', '01-03'],
      columns=['Value'])
    
    df2 = pandas.DataFrame(
      data=[59, 69, -79],
      index=['01-01', '01-02', '01-03'],
      columns=['Value'])
    
    
    df3 = df1.merge(df2, how='outer', left_index=True, right_index=True, suffixes=('_1', '_2'))
    
    df3['Delta'] = df3['Value_2'] - df3['Value_1']
    

    它将返回以下数据框:

           Value_1  Value_2  Delta
    01-01       60       59     -1
    01-02       70       69     -1
    01-03      -80      -79      1
    

    这里是合并方法的链接: pandas.DataFrame.merge

    【讨论】:

      猜你喜欢
      • 2019-10-07
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多