我试图对不同的数据帧进行求和,比如数据帧a,数据帧b和数据帧c。
数据帧a在python代码中定义如下:
a=pd.DataFrame(index=range(0,8), columns=[0])
a.iloc[:,0]=0
(a.iloc [:,0] = 0用于启用算术运算,即用“零”替换“NaN”)
从excel表中调用Dataframe b和Dataframe c,如下所示:
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+b
或a+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分配数字之后,为什么会发生这种情况呢?请帮忙。
熊猫将为您处理索引。您应该能够生成和添加数据帧,如此处所示
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
。