如何重索引pandas Series移除索引间隔且不创建新Series
解答
完全可以在不创建新Pandas Series的前提下完成目标索引转换,所有修改都直接作用于原对象,不会生成额外副本。
原地修改方法
两种实现方式都满足要求:
- 直接为Series的
index属性赋值连续整数序列,是开销最低的方案:
# 替换s为你自己的Series变量名 s.index = range(len(s))
- 调用重置索引方法时开启原地修改开关,注意必须传入
drop=True参数丢弃原步长为5的索引,避免原索引被转换为新的数据列:
s.reset_index(drop=True, inplace=True)
效果说明
执行任意一种操作后,原Series的索引会直接替换为从0开始、步长为1的连续整数序列,和你给出的预期效果完全匹配:索引0对应值20.883339,索引1对应值20.883386,索引2对应值20.883434,末尾索引3652对应值21.053699。
注意:如果调用
reset_index时不指定inplace=True,方法会返回一个全新的Series对象,不符合不创建新对象的要求。
内容的提问来源于stack exchange,提问作者Gunay Karaoglu
相关产品推荐
相关产品推荐

