【问题标题】:Dividing dataframe with another datafrmae with single row but same columns将数据框与另一个具有单行但相同列的数据框划分
【发布时间】:2020-05-01 11:27:46
【问题描述】:

我有一个数据框 df 为:

                        Col1          Col2
Date                                      
2014-06-06              43.69         4.67
2014-06-09              45.47         4.70
2014-06-10              43.19         4.72
2014-06-11              47.58         4.64

我还有另一个datafrmae df2

              Col1       Col2                 
0              2         .5

我想将dfdf2 分开以获得以下结果:

但我不确定如何以 Python 方式执行此操作?

【问题讨论】:

  • df1.div(df2.values)df1.div(df2.to_numpy()) ?
  • 它给出了无法强制形状错误。
  • df1.div(df2.iloc[0])df1.div(df2.iloc[1], axis='rows') 都可以。
  • 这意味着您可能有更多行,而不仅仅是一行。检查@QuangHoang 评论

标签: pandas python-3.5


【解决方案1】:

IIUC 使用 numpy 将删除索引匹配

df1[:]=df1.values/df2.values
df1
              Col1  Col2
Date                    
2014-06-06  21.845  9.34
2014-06-09  22.735  9.40
2014-06-10  21.595  9.44
2014-06-11  23.790  9.28

【讨论】:

    【解决方案2】:

    默认情况下,数据框和系列之间的数学将系列索引与数据框列对齐。 Soooo,得到df2 的第一行,你就设置好了

    df1 / df2.iloc[0]
    
                  Col1  Col2
    Date                    
    2014-06-06  21.845  9.34
    2014-06-09  22.735  9.40
    2014-06-10  21.595  9.44
    2014-06-11  23.790  9.28
    

    如果你想改变数据框

    df1 /= df2.iloc[0]
    
    df1
    
    Date                    
    2014-06-06  21.845  9.34
    2014-06-09  22.735  9.40
    2014-06-10  21.595  9.44
    2014-06-11  23.790  9.28
    

    SEE THIS POST
    了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2020-11-03
      • 2015-10-18
      相关资源
      最近更新 更多