熊猫将一行除以另一行并输出到同一数据帧中的另一行

新手上路,请多包涵

对于数据框,例如:

       dt
                COL000  COL001
      STK_ID
      Rowname1  2  2
      Rowname2  1  4
      Rowname3  1  1

将 Row1 除以 Row2 的结果附加到同一数据框的最简单方法是什么?即期望的结果是:

                 COL000  COL001
      STK_ID
      Rowname1  2  2
      Rowname2  1  4
      Rowname3  1  1
      Newrow    2  0.5

抱歉,如果这是一个简单的问题,我正在慢慢掌握来自 R 背景的熊猫。

提前致谢!!!

原文由 dvanic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 654
2 个回答

下面的代码将 创建一个 索引为 d 的新行,该行由分隔行 ab

 import pandas as pd

df = pd.DataFrame(data={'x':[1,2,3], 'y':[4,5,6]}, index=['a', 'b', 'c'])

df.loc['d'] = df.loc['a'] / df.loc['b']

print(df)
#      x    y
# a  1.0  4.0
# b  2.0  5.0
# c  3.0  6.0
# d  0.5  0.8

原文由 Ffisegydd 发布,翻译遵循 CC BY-SA 4.0 许可协议

为了在不关心索引的情况下访问前两行,您可以使用:

 df.loc['newrow'] = df.iloc[0] / df.iloc[1]

然后只需按照@Ffisegydd 的解决方案…

此外,如果要追加多行,请使用 pd.DataFrame.append 函数。

原文由 acushner 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题