pandas重新生成索引

在数据处理的过程中,出现了这样的问题,筛选某些数据,出现索引从600多开始,但是我希望这行数据下标从0开始。

这个时候,我想到的是:

df.reindex(range(length))

但是查看一下数据之后,发现0-624之间的值全为Nan,显然不是我需要的数据。

最后找到了说明:

pandas调用reindex方法后净会根据新索引进行重排,如果某个索引值当前不存在,就会引入

缺失值;可以通过fill_value参数填充默认值,也可以通过method参数设置填充方法;

感谢身边同事的帮助,找到了解决的方法:

df_new =  df.reset_index(drop=True) 

他没有原地修改,因此需要重新赋值。

时候之后的效果就是,期待的625行的数据,变成了从0开始的下标。

Note:

如果想从下标1开始,而不是0,那么可以这样做:

df.index = df.index + 1

 

  • 13
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
pandas中,重设索引是指重新定义DataFrame或Series的索引。重设索引可以通过reset_index()函数来实现。 reset_index()函数会将原来的索引作为一列添加到DataFrame中,并重新生成默认的整数索引。这样可以方便地重新组织数据,并且在后续的操作中更加灵活。 下面是reset_index()函数的一些常用参数: - drop:默认为False,表示是否丢弃原来的索引列。如果设置为True,则会删除原来的索引列。 - inplace:默认为False,表示是否在原地修改DataFrame。如果设置为True,则会直接修改原来的DataFrame,而不返回新的DataFrame。 下面是一个示例,展示如何使用reset_index()函数重设索引: ```python import pandas as pd # 创建一个示例DataFrame data = {'Name': ['Tom', 'Nick', 'John'], 'Age': [20, 25, 30], 'City': ['New York', 'Paris', 'London']} df = pd.DataFrame(data) # 输出原始DataFrame print("原始DataFrame:") print(df) # 重设索引 df_reset = df.reset_index() # 输出重设索引后的DataFrame print("重设索引后的DataFrame:") print(df_reset) ``` 运行以上代码,输出结果如下: ``` 原始DataFrame: Name Age City 0 Tom 20 New York 1 Nick 25 Paris 2 John 30 London 重设索引后的DataFrame: index Name Age City 0 0 Tom 20 New York 1 1 Nick 25 Paris 2 2 John 30 London ``` 可以看到,原始DataFrame的索引被重设为了默认的整数索引,并且原来的索引列被添加为了一列新的数据。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想做个自由的人

随缘吧打赏与否还是会坚持

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

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

打赏作者

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

抵扣说明:

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

余额充值