如何根据其他两个系列及其索引创建大熊猫系列



给定两个带有相同索引的熊猫系列:

a = pd.DataFrame([5, 11], columns=['A'], index=[1, 2])
b = pd.DataFrame([2, 3], columns=['B'], index=[1, 2])
    A  
1   5  
2  11  
   B  
1  2  
2  3  

什么是创建一个具有相同索引的新系列的有效方法,其中每个值为 (value of A - index) / value of B,即

  C
1 2  (= (5 - 1) / 2)
2 3  (= (11 - 2) / 3)

感谢您的帮助!

编辑:我注意到我的问题的标题是关于系列的,但是文本和答案是关于数据框的。因此,如果有人想对A和B系列做同样的事情,这就是:(a - a.index) / b

您可以简单地做:

c = ((a['A'] - a.index) / b['B'])
#1    2.0
#2    3.0
#dtype: float64

如果您希望结果作为数据框:

c = pd.DataFrame(c, columns=["C"])
print(c)
#     C
#1  2.0
#2  3.0

选项1

a.A.sub(a.index).div(b.B).to_frame('C')
     C
1  2.0
2  3.0

选项2

a.join(b).eval('C = (A - index) / B', inplace=False)
    A  B    C
1   5  2  2.0
2  11  3  3.0

最新更新