我在熊猫方面有两个非常简单的加法问题,希望您能对我有所帮助。
我的第一个问题:
假设我具有以下两个数据帧:a_df
和b_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_df
和e_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 ...
首先将一行DataFrame
转换为Series
:
尝试一下: