Python Pandas:添加两个不同的数据框

时间:2017-12-24 14:36:42

标签: pandas dataframe

我正在尝试对不同的数据框进行求和,例如数据帧a 数据帧b 数据帧c

Dataframe a 在python代码中定义如下:

a=pd.DataFrame(index=range(0,8), columns=[0])
a.iloc[:,0]=0 

a.iloc [:,0] = 0 用于启用算术运算,即将&#34; NaN&#34;替换为&#34;零&#34;)< / p>

Dataframe b Dataframe c 从excel表中调用,如下所示:

b=pd.read_excel("Test1.xlsx")
c=pd.read_excel("Test2.xlsx")

Excel工作表包含与 Dataframe a 相同的行数。样本是:

10
11
12
13
14
15
16
17
18
19

现在,当我尝试添加时,b+c会提供精确的输出,但a+ba+c会给出:

   0   10
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 NaN NaN
5 NaN NaN
6 NaN NaN
7 NaN NaN
8 NaN NaN

为什么会发生这种情况,即使在为 Dataframe a 分配数字之后呢? 请帮忙。

1 个答案:

答案 0 :(得分:0)

Pandas将为您处理索引。您应该能够生成和添加数据框,如此处所示

import pandas as pd

a = pd.DataFrame(list(range(8)))
b = pd.DataFrame(list(range(9,17)))
c = a + b

使用您提供的代码生成数据会生成仅包含零的数据帧。然而,即使你生成其中两个并添加它们,你将再次得到一个全零的数据帧。

a = pd.DataFrame(index=range(0,8), columns=[0])
a.iloc[:,0] = 0
b = pd.DataFrame(index=range(0,8), columns=[0])
b.iloc[:,0] = 0
c = a + b # All zeroes

我还可以添加所有组合,例如b+c