所以我有一个DataFrame,df1,它有3列,A,B和C,如下所示:
A B C
Arizona 0 2.800000 5.600000
California 0 18.300000 36.600000
Colorado 0 2.666667 5.333333
Connecticut 0 0.933333 1.866667
Delaware 0 0.100000 0.200000
Florida 0 0.833333 1.666667
Georgia 0 0.000000 0.000000
Hawaii 0 1.000000 2.000000
Illinois 0 3.366667 6.733333
Indiana 0 0.000000 0.000000
Iowa 0 0.000000 0.000000
然后我有另一个数据帧df2,它只有一列,D:
D
Arizona 13
California 18
Colorado 5
Connecticut 15
Delaware 7
Florida 5
Georgia 13
Hawaii 3
Illinois 21
Indiana 2
Iowa 4
我想要做的是将D列的值添加到df1中的所有列。通过添加我的意思是取[亚利桑那州,A]的值并将其添加到[Arizona,D]的值,而不是将列D添加为新列。到目前为止,我尝试使用
df1 + df2 #returned all NaN
df1 + df2['D'] #Also returned all NaN
df1['A'] + df2['D'] #Returned a new dataframe with each as a separate column
我现在还不完全确定从哪里开始,所以我喜欢一些关于如何解决这个问题的建议。它似乎不应该是困难的,我可能会遗漏一些明显的东西。任何帮助将不胜感激。
答案 0 :(得分:2)
您可以使用add()方法:
In [22]: df1.add(df2.D, axis='index')
Out[22]:
A B C
Arizona 13.0 15.800000 18.600000
California 18.0 36.300000 54.600000
Colorado 5.0 7.666667 10.333333
Connecticut 15.0 15.933333 16.866667
Delaware 7.0 7.100000 7.200000
Florida 5.0 5.833333 6.666667
Georgia 13.0 13.000000 13.000000
Hawaii 3.0 4.000000 5.000000
Illinois 21.0 24.366667 27.733333
Indiana 2.0 2.000000 2.000000
Iowa 4.0 4.000000 4.000000
答案 1 :(得分:0)
df1 = DataFrame({'A':{'a':1, 'b':2}, 'B':{'a':10, 'b':20}})
df2 = DataFrame({'C':{'a':2, 'b':2}})
df1['A+C'] = df1['A'] + df2['C']
df1['B+C'] = df1['B'] + df2['C']
print (df1)
A B A+C B+C
a 1 10 3 12
b 2 20 4 22