pandas重新生成索引的方法
在数据处理的过程中,出现了这样的问题,筛选某些数据,出现索引从600多开始,但是我希望这行数据下标从0开始。
这个时候,我想到的是:
df.reindex(range(length))
但是查看一下数据之后,发现0-624之间的值全为Nan,显然不是我需要的数据。
最后找到了说明:
pandas调用reindex方法后净会根据新索引进行重排,如果某个索引值当前不存在,就会引入
缺失值;可以通过fill_value参数填充默认值,也可以通过method参数设置填充方法;
感谢身边同事的帮助,找到了解决的方法:
df_new = df.set_index(drop=True) 他没有原地修改,因此需要重新赋值。
时候之后的效果就是,期待的625行的数据,变成了从0开始的下标。
以上这篇pandas重新生成索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
在dataframe中根据一定的条件,得到符合要求的某行元素所在的位置. 代码如下所示: df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]}, index=[10,20,30,40,50]) print(df) a = df[(df.BoolCol==3)&(df.attr==22)].index.tolist() print(a) df如下所示,以上通过选取"BoolCol"取
-
pandas表连接 索引上的合并方法
如下所示: left1 = pd.DataFrame({'key':['a','b','a','a','b','c'],'value':range(6)}) right1 = pd.DataFrame({'group_val':[3.5,7]},index = ['a','b']) print(left1) print(right1) result = pd.merge(left1,right1,left_on='key',right_index=True) print(result) 层次化数
-
pandas.dataframe按行索引表达式选取方法
需要把一个从csv文件里读取来的数据集等距抽样分割,这里用到了列表表达式和dataframe.iloc 先生成索引列表: index_list = ['%d' %i for i in range(df.shape[0]) if i % 3 == 0] 在dataframe中选取 sample_df = df.iloc[index_list] 合起来 sample_df = df.iloc[['%d' %i for i in range(df.shape[0]) if i % 3 == 0]] 各
-
浅谈Pandas 排序之后索引的问题
如下所示: In [1]: import pandas as pd ...: df=pd.DataFrame({"a":[1,2,3,4,5],"b":[5,4,3,2,1]}) In [2]: df Out[2]: a b 0 1 5 1 2 4 2 3 3 3 4 2 4 5 1 In [3]: df=df.sort_values(by="b") # 按照b列排序 In [4]: df Out[4]: a b 4 5 1 3 4 2 2 3
-
pandas数据清洗,排序,索引设置,数据选取方法
此教程适合有pandas基础的童鞋来看,很多知识点会一笔带过,不做详细解释 Pandas数据格式 Series DataFrame:每个column就是一个Series 基础属性shape,index,columns,values,dtypes,describe(),head(),tail() 统计属性Series: count(),value_counts(),前者是统计总数,后者统计各自value的总数 df.isnull() df的空值为True df.notnull() df的非空值为T
-
pandas带有重复索引操作方法
有的时候,可能会遇到表格中出现重复的索引,在操作重复索引的时候可能要注意一些问题. 一.判断索引是否重复 a.Series索引重复判断 s = Series([1,2,3,4,5],index=["a","a","b","b","c"]) print(s.index.is_unique) #False Series.index.is_unique为False表示索引重复. b.DataFrame索引重复判断
-
python pandas 对series和dataframe的重置索引reindex方法
reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行.且不会修改原数组,要修改需要使用赋值语句. series.reindex() import pandas as pd import numpy as np obj = pd.Series(range(4), index=['d', 'b', 'a', 'c']) print obj d 0 b 1 a 2 c 3 dtype: int64 print obj.reinde
-
pandas将DataFrame的列变成行索引的方法
pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面. 1.DataFrame的set_index方法 data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
-
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
前言 最近在网上搜了许多关于pandas.DataFrame的操作说明,都是一些基础的操作,但是这些操作组合起来还是比较费时间去正确操作DataFrame,花了我挺长时间去调整BUG的.我在这里做一些总结,方便你我他.感兴趣的朋友们一起来看看吧. 一.创建DataFrame的简单操作: 1.根据字典创造: In [1]: import pandas as pd In [3]: aa={'one':[1,2,3],'two':[2,3,4],'three':[3,4,5]} In [4]: bb=
-
pandas实现选取特定索引的行
如下所示: >>> import numpy as np >>> import pandas as pd >>> index=np.array([2,4,6,8,10]) >>> data=np.array([3,5,7,9,11]) >>> data=pd.DataFrame({'num':data},index=index) >>> print(data) num 2 3 4 5 6 7 8 9
随机推荐
- perl读写文件代码实例
- 批处理 延时不完全总结
- 在Oracle中向视图中插入数据的方法
- javascript 不用reverse实现字符串反转的代码
- javascript延时重复执行函数 lLoopRun.js
- 你未必知道的JavaScript和CSS交互的5种方法
- Bmail联系人飞来飞去效果
- 网页语言编码及asp乱码问题解决方案
- docker常用命令总结之安装、镜像、容器基本操作
- 五个PHP程序员工具
- ajax 开发守则 10条说明
- SQLServer批量更新两个关联表数据的方法
- MySql的优化步骤介绍(推荐)
- jQuery遍历json的方法分析
- 验证码在IE中不刷新而谷歌等浏览器正常的解决方案
- FLEX内存优化技巧集合
- 描述C#多线程中lock关键字的使用分析
- android-wheel控件实现三级联动效果
- Android 文件选择器详解及实例代码
- 详解Python中的__new__()方法的使用