简单地在熊猫中添加不同大小的数据框

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

我在熊猫方面有两个非常简单的加法问题,希望您能对我有所帮助。

我的第一个问题:

假设我具有以下两个数据帧:a_dfb_df

a = [[1,1,1,1],[0,0,0,0],[1,1,0,0]]
a_df = pd.DataFrame(a)

a_df = 
   0  1  2  3
0  1  1  1  1
1  0  0  0  0
2  1  1  0  0


b = [1,1,1,1]
b_df = pd.DataFrame(b).T

b_df=
   0  1  2  3
0  1  1  1  1

我想将b_df添加到a_df以获取c_df,这样我的预期输出将是:

c_df = 
   0  1  2  3
0  2  2  2  2
1  1  1  1  1
2  2  2  1  1

我当前使用的方法是将b_df复制到a_df的相同大小并执行加法,如下所示。但是,如果我的a_df非常大,则此方法效率不高。

a = [[1,1,1,1],[0,0,0,0],[1,1,0,0]]
a_df = pd.DataFrame(a)

b = [1,1,1,1]
b_df = pd.DataFrame(b).T
b_df = pd.concat([b_df]*len(a_df)).reset_index(drop=True)

c_df = a_df + b_df

还有其他方法可以将b_df(不复制它)添加到a_df以获得我想要的c_df是什么?

我的第二个问题与我的第一个问题非常相似:

假设我有d_dfe_df如下:

d = [1,1,1,1]
d_df = pd.DataFrame(d)

d_df=
   0
0  1
1  1
2  1
3  1



e = [1]
e_df = pd.DataFrame(e)

e_df=
   0
0  1

我想将e_df添加到d_df,以便得到以下结果:

   0
0  2
1  2
2  2
3  2

同样,当前我在使用e_df添加之前正在使用以下方法(与问题1相同)复制d_df >>

d = [1,1,1,1]
d_df = pd.DataFrame(d)

e = [1]
e_df = pd.DataFrame(e)
e_df = pd.concat([e_df]*len(d_df)).reset_index(drop=True)

f_df = d_df + e_df

是否存在不复制e_df的方法?

请提供建议并帮助我。非常感谢高级]

汤米

我在熊猫方面有两个非常简单的加法问题,希望您能对我有所帮助。我的第一个问题:假设我有以下两个数据帧:a_df和b_df a = [[1,1,1,1],[0,0,0,0],[1,1,0,0]] a_df ...

pandas dataframe addition
1个回答
0
投票

首先将一行DataFrame转换为Series


0
投票

尝试一下:

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