鉴于两个具有相同指数的熊猫系列:
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
答案 0 :(得分:2)
a.A.sub(a.index).div(b.B).to_frame('C')
C
1 2.0
2 3.0
a.join(b).eval('C = (A - index) / B', inplace=False)
A B C
1 5 2 2.0
2 11 3 3.0
答案 1 :(得分:2)
您可以这样做:
c = ((a['A'] - a.index) / b['B'])
#1 2.0
#2 3.0
#dtype: float64
如果您希望将结果作为DataFrame:
c = pd.DataFrame(c, columns=["C"])
print(c)
# C
#1 2.0
#2 3.0