【问题标题】:How do I divide one row in a DataFrame with all other rows in another df?如何将 DataFrame 中的一行与另一个 df 中的所有其他行分开?
【发布时间】:2020-10-20 22:09:53
【问题描述】:

我有两个 DataFrame,df1 和 df2。我想将一个df中的每一行与另一个df中的行分开。当我自己尝试时,我只得到 NaN 值。

df1 有一行三列,如下所示:

    0         1         2
0 -0.001506  0.000357 -0.002386

我想在我的另一个 DataFrame df2 中划分每一行,如下所示:

0   1   2
-0.008225100913712424   0.002488360440698889    -0.008225100913712424
-0.0012552065743555163  0.002048857368006418    -0.0001238320387255687
-0.0009167397808822475  0.001411666779150167    -0.0007873838608803974
-0.0005182164342202311  0.0016391411125882271   0.001532118153346973
-0.002096707101822415   0.00020798435058289044  -0.0020292527178495945
-0.0006015392658972329  0.0006577578888782298   0.00011805910826012678
-8.441050516860837e-05  0.0009791618599572782   0.0009791618599572782
-0.000343184413801656   0.00046695584173006566  -0.00024754285585693037
-0.0003435148893994322  0.0010474388430867787   0.0009629679686444792
-0.0014786804752094929  0.0022067330755990433   0.0022067330755990433

期望的输出:

4,46    6,96    3,45
-0,17   5,73    0,05
-0,39   3,95    0,33
-0,66   4,59    -0,64
0,39    0,58    0,85
-0,60   1,84    -0,05
-0,94   2,74    -0,41
-0,77   1,31    0,10
-0,77   2,93    -0,40

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    只要做:

    df2.div(df1.iloc[0])
    

    或者

    df2.div(df1.values)
    

    输出(您的输出似乎不正确:-0.008225 / -0.001506 = 5.46):

              0         1         2
    0  5.461554  6.970197  3.447234
    1  0.833471  5.739096  0.051899
    2  0.608725  3.954249  0.330002
    3  0.344101  4.591432 -0.642128
    4  1.392236  0.582589  0.850483
    5  0.399428  1.842459 -0.049480
    6  0.056049  2.742750 -0.410378
    7  0.227878  1.308000  0.103748
    8  0.228098  2.934002 -0.403591
    9  0.981860  6.181325 -0.924867
    

    【讨论】:

    • 我的错。谢谢。
    【解决方案2】:

    试试

    df2[:] = df2.values/df1.values
    df2
    Out[170]: 
              0         1         2
    0  5.461554  6.970197  3.447234
    1  0.833471  5.739096  0.051899
    2  0.608725  3.954249  0.330002
    3  0.344101  4.591432 -0.642128
    4  1.392236  0.582589  0.850483
    5  0.399428  1.842459 -0.049480
    6  0.056049  2.742750 -0.410378
    7  0.227878  1.308000  0.103748
    8  0.228098  2.934002 -0.403591
    9  0.981860  6.181325 -0.924867
    

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多