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

问题描述 投票:0回答:1

我试图对不同的数据帧进行求和,比如数据帧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+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分配数字之后,为什么会发生这种情况呢?请帮忙。

pandas dataframe
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.