Ste*_*ele 3 python numpy dataframe pandas
我有两个pandas数据帧,比如df1和df2,每个都有一些大小,但是有不同的索引,我想逐个元素地总结这两个数据帧.我为您提供了一个简单的例子来更好地理解问题:
dic1 = {'a': [3, 1, 5, 2], 'b': [3, 1, 6, 3], 'c': [6, 7, 3, 0]}
dic2 = {'c': [7, 3, 5, 9], 'd': [9, 0, 2, 5], 'e': [4, 8, 3, 7]}
df1 = pd.DataFrame(dic1)
df2 = pd.DataFrame(dic2, index = [4, 5, 6, 7])
Run Code Online (Sandbox Code Playgroud)
所以df1会
a b c
0 3 3 6
1 1 1 7
2 5 6 3
3 2 3 0
Run Code Online (Sandbox Code Playgroud)
和df2将是
c d e
4 7 9 4
5 3 0 8
6 5 2 3
7 9 5 7
Run Code Online (Sandbox Code Playgroud)
现在如果输入
df1 + df2
Run Code Online (Sandbox Code Playgroud)
我得到的是
a b c d e
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN
6 NaN NaN NaN NaN NaN
7 NaN NaN NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
我怎样才能让pandas明白我想逐个元素地总结两个数据帧?
更新:来自piRSquared的更好的解决方案:
In [39]: df1 + df2.values
Out[39]:
a b c
0 10 12 10
1 4 1 15
2 10 8 6
3 11 8 7
Run Code Online (Sandbox Code Playgroud)
老答案:
In [37]: df1.values + df2.values
Out[37]:
array([[10, 12, 10],
[ 4, 1, 15],
[10, 8, 6],
[11, 8, 7]], dtype=int64)
In [38]: pd.DataFrame(df1.values + df2.values, columns=df1.columns)
Out[38]:
a b c
0 10 12 10
1 4 1 15
2 10 8 6
3 11 8 7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |