Pandas将一行分开,另一行输出到同一数据帧中的另一行

时间:2014-09-25 15:52:09

标签: python pandas

对于数据框,例如:

      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背景中掌握大熊猫。

提前致谢!!!

3 个答案:

答案 0 :(得分:3)

以下代码create a new row的索引d由行ab分隔而成。

import pandas as pd

df = pd.DataFrame(data={'x':[1,2,3], 'x':[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

答案 1 :(得分:2)

为了访问前两行而不关心索引,可以使用:

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

然后关注@ Ffisegydd的解决方案......

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

答案 2 :(得分:0)

pandas逐行完成所有工作。通过包含其他元素,它还可以解释您是否需要新列:

data['new_row_with_division'] = data['row_name1_values'] / data['row_name2_values']