set_index()与reset_index()函数
一 set_index()函数
1 主要是理解drop和append参数,注意与reset_index()参数的不同.
import pandas as pd
df = pd.DataFrame({'a': range(4),
'b': range(4, 0, -1),
'c': ['one', 'one', 'two', 'two'],
'd': ['a','b','c','d']})
print(df)
# a b c d
# 0 0 4 one a
# 1 1 3 one b
# 2 2 2 two c
# 3 3 1 two d
# set_index()的drop参数默认为True,如下即默认将普通列c列置为索引列后,将原先的普通列c列删除.
# 注意它与reset_index()的drop不同,reset_index()中的drop默认为False,且这个drop为True时,删除的是原先的index列
df.set_index(['c'], inplace=True)
print(df)
# a b d
# c
# one 0 4 a
# one 1 3 b
# two 2 2 c
# two 3 1 d
# append参数为True,会保留原先的索引,为False时,新设置的索引会覆盖原先的索引,它类似与reset_index()中的drop.
df.set_index(['b'], inplace=True, append=True)
print(df)
# a d
# c b
# one 4 0 a
# 3 1 b
# two 2 2 c
# 1 3 d
二 reset_index()函数
1 重置索引后,drop参数默认为False,想要删除原先的索引列要置为True.想要在原数据上修改要inplace=True.特别是不赋值的情况必须要加,否则drop无效.
all_user_repay.reset_index(drop=True,inplace=True)
df1 = pd.DataFrame({'A': ['A0', 'A1'],
'B': ['B0', 'B1'],
'C': ['C0', 'C1'],
'D': ['D0', 'D1']})
df2 = pd.DataFrame({'A': ['A4', 'A5'],
'B': ['B4', 'B5'],
'C': ['C4', 'C5'],
'D': ['D4', 'D5']})
frames = [df1, df2]
result = pd.concat(frames)
print(result.reset_index())
# index A B C D
# 0 0 A0 B0 C0 D0
# 1 1 A1 B1 C1 D1
# 2 0 A4 B4 C4 D4
# 3 1 A5 B5 C5 D5
print(result.reset_index(drop=True))
# A B C D
# 0 A0 B0 C0 D0
# 1 A1 B1 C1 D1
# 2 A4 B4 C4 D4
# 3 A5 B5 C5 D5
Series.reset_index()
注意参数level默认移除原先的全部索引,即将原先的全部索引都置为普通列.
如果给level赋值,则只有所赋值的索引列置为普通列,其余的留下做索引列.
参考:http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.reset_index.html?highlight=reset_index#pandas.Series.reset_index
arrays = [np.array(['bar', 'bar', 'baz', 'baz']),
np.array(['one', 'two', 'one', 'two'])]
s2 = pd.Series(
range(4), name='foo',
index=pd.MultiIndex.from_arrays(arrays,
names=['a', 'b']))
print(s2)
#这里如果想要保留修改不能用inplace参数,只能再赋给另一个引用
print(s2.reset_index(level='a'))
print(s2.reset_index())
print(type(s2))
# a b
# bar one 0
# two 1
# baz one 2
# two 3
# Name: foo, dtype: int64
# a foo
# b
# one bar 0
# two bar 1
# one baz 2
# two baz 3
# a b foo
# 0 bar one 0
# 1 bar two 1
# 2 baz one 2
# 3 baz two 3
# <class 'pandas.core.series.Series'>
2 把某一列设为索引列
df.set_index('列名',inplace=True)
set_index()与reset_index()函数的更多相关文章
- 区别 |python-pandas库set_index、reset_index用法区别
1.set_index() 作用:DataFrame可以通过set_index方法,将普通列设置为单索引/复合索引. 格式:DataFrame.set_index(keys, drop=True, a ...
- pandas的set_index和reset_index方法
import pandas as pd data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b&qu ...
- pandas set_index和reset_index的用法
1.set_index DataFrame可以通过set_index方法,可以设置单索引和复合索引. DataFrame.set_index(keys, drop=True, append=False ...
- python set_index与reset_index的妙用
- 从Excel到Python:最常用的36个Pandas函数
本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗.预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作. 生成数据表 常见的生成数据表的方法有两 ...
- 关于Excel,你一定用的到的36个Python函数
从Excel到Python:最常用的36个Pandas函数关于Excel,你一定用的到的36个Python函数 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗 ...
- python中数据分析常用函数整理
一. apply函数 作用:对 DataFrame 的某行/列应用函数之后,Apply 返回一些值.函数既可以使用默认的,也可以自定义.注意:在第二个输出中应用 head() 函数,因为它包含了很多行 ...
- 第三课 创建函数 - 从EXCEL读取 - 导出到EXCEL - 异常值 - Lambda函数 - 切片和骰子数据
第 3 课 获取数据 - 我们的数据集将包含一个Excel文件,其中包含每天的客户数量.我们将学习如何对 excel 文件进行处理.准备数据 - 数据是有重复日期的不规则时间序列.我们将挑战数 ...
- pandas模块常用函数解析之Series(详解)
pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...
随机推荐
- onehot编码解释
什么是One-Hot编码? One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效. One-Hot编码是分类变 ...
- 测试员小白必经之路----常见的Dos命令
Dos是什么? 是一个命令行执行的操作系统 进入终端: win + r 运行输入: cmd 当前计算机的本地时间:Time 退出当前正在执行的命令: ctrl +c 设置在多少时间后自动关机: Shu ...
- Maven 添加其他Maven组件配置问题
在父工程的pom文件里,添加如下配置 <project> <!--其它配置--> <modules> <module>A项目文件夹</module ...
- 简单Spring Cloud 微服务框架搭建
微服务是现在比较流行的技术,对于程序猿而言,了解并搭建一个基本的微服务框架是很有必要滴. 微服务包含的内容非常多,一般小伙伴们可以根据自己的需求不断添加各种组件.框架. 一般情况下,基本的微服务框架包 ...
- Linux--Linux的网络--05
一层: HUB --- 集线器 总线型结构,使用泛洪方式 二层: 在早期,pc通信只需要MAC地址进行数据转发 网桥 --- 交换机 :维护MAC地址表 三层: 网络的增大,就需要逻辑地址(IP地址 ...
- 实现自己的BeanFactory、AOP以及声明式事务
实现自己的BeanFactory 在使用spring时,我们很少用& ...
- web框架-(二)Django基础
上面我们已经知道Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Sessi ...
- 〇——什么是SHELL
在这段时间里中我们了解一下SHELL编程. 什么是shell shell是Linux的命令解释器,用于解释用户对操作系统的操作. 用shell解释的Linux命令有很多,可以通过cat/etc/she ...
- css3 宽度百分比减去固定宽度 无效问题
一定要注意中间横线的间距才有效果 正确 width: calc(50% - 10px); 错误 width:calc(50%-10px);
- 1px像素问题(移动端经典问题)
1.物理像素:移动设备出厂时,不同设备自带的不同像素,也称硬件像素: 逻辑像素:即css中记录的像素 在开发中,为什么移动端CSS里面写了1px,实际上看起来比1px粗:了解设备物理像素和逻辑像素的同 ...