我需要一个帮助。
我正在尝试连接两个数据帧。第一行有58k行,其他100行。我想以这样一种方式进行连接,即58k行中的每一行都有来自其他df的100行。所以总共有580万行。性能非常差,需要1小时才能完成10%。有什么改进的建议吗?下面是代码片段。
def myfunc(vendors3,cust_loc):
cust_loc_vend = pd.DataFrame()
cust_loc_vend.empty
for i,row in cust_loc.iterrows():
clear_output(wait=True)
a= row.to_frame().T
df= pd.concat([vendors3, a],axis=1, ignore_index=False)
#cust_loc_vend = pd.concat([cust_loc_vend, df],axis=1, ignore_index=False)
cust_loc_vend= cust_loc_vend.append(df)
print('Current progress:',np.round(i/len(cust_loc)*100,2),'%')
return cust_loc_vend
例如,如果第一DF具有5行,而第二DF具有100行
DF1 (示例2列)
我想要一个合并的DF,这样df2中的每一行都有来自df1的所有行-
发布于 2020-06-15 19:39:11
因为没有列,所以你要找的就是一个join.But,你能做的就是创建一个在两个数据帧中相似的列,然后最终删除它。
df['common'] = 1
df1['common'] = 1
df2 = pd.merge(df, df1, on=['common'],how='outer')
df = df.drop('tmp', axis=1)
其中df和df1是数据帧。
https://stackoverflow.com/questions/62332169
复制相似问题