轻松掌握!Pandas的数据添加技巧,3秒学会更高效的方法

在Pandas中,避免使用.append()方法添加DataFrame行,因为它效率低。更高效的方法包括使用.loc或.iloc直接修改,获取最后一行索引后插入,以及使用.reindex()重索引插入。这些方法减少了新对象的创建,提高了性能。
摘要由CSDN通过智能技术生成

在Pandas中,如果你想高效地向一个DataFrame添加一行数据,千万不要使用.append()方法!因为这种方法需要创建新的对象然后再赋值,效率较低,尤其是DataFrame较大时。


本文将介绍3种Pandas添加一行数据更高效的方法:


1. .loc或.iloc直接修改

你可以直接使用.loc根据标签或.iloc根据整数位置直接修改DataFrame,例如:

a.loc[a.index[-1] + 1] = 1  # .loc和索引加1

a.iloc[-1, :] = 1      # .iloc和切片

这种直接修改的方式避免了创建新对象的开销,所以效率更高。


2. 先获取最后一行索引,然后创建新索引插入

如果DataFrame索引不是简单整数,这种方法更适用。你可以:
先获取最后一行索引:

last_idx = a.index[-1]  

创建新的索引为其加1: 

new_idx = last_idx + pd.offsets.BDay()  # 增加一天

然后在DataFrame插入新行:

a.loc[new_idx] = 1


3. .reindex()方法

你也可以使用.reindex()方法插入一行,示例:

a = a.reindex(a.index.append(pd.Index([last_idx + 1])))
a.loc[last_idx + 1, :] = 1

这重新索引并创建新的行,然后赋值。


综上,Pandas添加一行数据高效方法: 

  1.  .loc或.iloc直接修改 
  2.  获取最后一行索引并创建新索引插入 
  3.  .reindex()重索引并插入

而不是.append(),这可以大大提高效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devid008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值