【python list.append与pd.concat共同使用的运行效率问题】

一、pd.concat()

pandas.concat()通常用来连接DataFrame对象,默认情况下是对两个DataFrame对象进行纵向连接。

pandas.concat(objs, axis=0, join='outer', ignore_index=False, 
					keys=None, levels=None, names=None, 
					verify_integrity=False, sort=False, copy=True)

例如:

  • 连接两个series
s1 = pd.Series(['a', 'b'])
s2 = pd.Series(['c', 'd'])
pd.concat([s1, s2])
0    a
1    b
0    c
1    d
dtype: object
  • 连接两个具有相同列的DataFrame
df1 = pd.DataFrame([['a', 1], ['b', 2]],
                   columns=['letter', 'number'])
df1
  letter  number
0      a       1
1      b       2
df2 = pd.DataFrame([['c', 3], ['d', 4]],
                   columns=['letter', 'number'])
df2
  letter  number
0      c       3
1      d       4
pd.concat([df1, df2])
  letter  number
0      a       1
1      b       2
0      c       3
1      d       4

参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html?highlight=concat#pandas.concat

二、list.append()

  • 当在for循环中仅使用pd.concat()连接dataframe时,发现随着循环的进行,运行速度越来越慢,查阅资料后发现,这个方法的效率很低,不推荐使用;且pd.append()在1.4.0版后已移除。
  • 当配合使用list.append(df)连接具有相同列的dataframe,在循环的最后再使用pd.concat(),发现运行速度快了很多。

参考:https://blog.csdn.net/qq_22238533/article/details/70050875
感觉解释的不是很清楚,还得参考以上链接~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值