pandas速学系列四:修改dataframe的六大方法
修改dataframe的六大方法
一句话总结:改索改名改顺序,改样改值改类型。
一:改索引
1.index改索引
代码如下(示例):
import pandas as pd
import numpy as np# 创建数据 --------------------------------------
dict = {'open':[1,2,3,4,5],'high':[6,7,8,9,10],'low':[11,12,13,14,15],'close':[16,17,18,19,20]
}
df = pd.DataFrame(dict)
# 改索引 -----------------------------------------
# 1. index改索引
df.index = ['a','b','c','d','e'] # []列表的长度必须与df行数一致。
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20open high low close
a 1 6 11 16
b 2 7 12 17
c 3 8 13 18
d 4 9 14 19
e 5 10 15 20
2. 将某列改为索引
代码如下(示例):
# 改索引 --------------------------------------
# 2. 将某列改为索引df = df.set_index("close") # 将"close"列设为索引(默认同时删除"close"列的数据)# df = df.set_index("close", drop = False) # drop=False 表示保留原先"close"列的数据。(默认为True)
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20open high low
close
16 1 6 11
17 2 7 12
18 3 8 13
19 4 9 14
20 5 10 15
二:改列名
1. columns 方法
代码如下(示例):
# 改列名 ------------------------------------------
# 1. columns 方法
df.columns = ('a','high','c','close')
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20a high c close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20
2. rename 方法
代码如下(示例):
# 改列名 ------------------------------------------
# 2. rename 方法
df.rename(columns={'close':'D'},inplace=True)
# 输出结果:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20open high low D
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20
三:改列的顺序
代码如下(示例):
# 改列的顺序 ---------------------------------------
# df = df[['low','close','high','open']]
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20low close high open
0 11 16 6 1
1 12 17 7 2
2 13 18 8 3
3 14 19 9 4
4 15 20 10 5
四:改样式(略)
1. Styler.applymap:逐元素
2. Styler.apply:列/行/表方式
五:改值
1. 改具体某个值
# 1. 改具体某个值
df.iloc[2,2] = 5
# df.loc[2,'low'] = 5 # 两种方法效果一样
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 5 18
3 4 9 14 19
4 5 10 15 20
2.按条件改
# 按条件改:将'open'列中所有大于3的数修改成0
df['open'][df['open'] > 3] = 0
# 输出结果对比:open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 4 9 14 19
4 5 10 15 20open high low close
0 1 6 11 16
1 2 7 12 17
2 3 8 13 18
3 0 9 14 19
4 0 10 15 20
六:改类型
1. 修改某一列的数据类型
df[‘low’] = df[‘low’].astype(‘int64’) # 修改’low’列为 int类型
2. 修改多列的数据类型
df[[‘low’, ‘close’]] = df[[‘low’, ‘close’]].apply(pd.to_numeric)
#内置函数,to_numeric() 可以将一列转换为数值类型,自动判断是 int 还是 float
pandas速学系列四:修改dataframe的六大方法相关推荐
- pandas 批量修改列名_pandas修改DataFrame列名的方法
在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,总结如下: 数据如下: >>>import pandas as pd >>>a = ...
- Linux Rootkit 系列四:对于系统调用挂钩方法的补充
本篇文章按照之前文章所说的,来介绍linux rootkit中的系统调用挂钩技术. 1.背景 本次环境依然是linux 2.6系列内核,ubuntu10.04. 本篇文章及上篇文章的示例代码:Gith ...
- linux mkdir 系统调用,Linux Rootkit 系列四:对于系统调用挂钩方法的补充
免责声明:本文介绍的安全知识方法以及代码仅用于渗透测试及安全教学使用,禁止任何非法用途,后果自负 前言 我将会把系列文章继续写下去,由于本系列文章novice同学也在写,所以我俩的顺序可能有点乱,不过 ...
- Pyecharts一文速学-绘制桑基图详解+Python代码
目录 前言 一.桑基图 二.Pyecharts绘制 1.数据处理 2.桑基图参数 1.class Sankey() 2.class SankeyLevelsOpts() 三.add()方法参数 1.s ...
- 【Python茴香豆系列】之 PANDAS 修改 DataFrame 列名
[Python茴香豆系列]之 PANDAS 修改 DataFrame 列名 用 Python 编程,使用不同的方法来完成同一个目标,有时候是一件很有意思的事情.这让我想起鲁迅笔下的孔乙己.孔乙己对于茴 ...
- 一文速学数模-时序预测模型(四)二次指数平滑法和三次指数平滑法详解+Python代码实现
目录 前言 二次指数平滑法(Holt's linear trend method) 1.定义 2.公式 二次指数平滑值: 二次指数平滑数学模型: 3.案例实现 三次指数平滑法(Holt-Winters ...
- Java私塾跟我学系列——JAVA篇 第四章Java类和对象
教学目标: i面向对象基础 i掌握对象的三大特性 i掌握Java类的构建 i掌握如何使用Java类 i理解引用类型 i理解按值传递和按引用传递 i深入理解变量 i掌握包装类 i理解类型转换 i理解Ja ...
- pandas使用loc函数更新、修改dataframe指定数据行的内容(update or change the content of specific row of dataframe)
pandas使用loc函数更新.修改dataframe指定数据行的内容(update or change the content of specific row of dataframe) 目录
- pandas 修改 DataFrame 列名
本文参考自:pandas 修改 DataFrame 列名 原博客针对每个DataFrame.columns中的元素做相同的修改操作 而拙作是对每个元素做不同操作的生搬硬套, 请大家不吝赐教 提出问题 ...
最新文章
- python学成什么样可以找工作-Python 爬虫学到什么样就可以找工作了?
- java中为什么要封装_Java中为什么要为基本类型提供封装类呢?
- PHP webshell
- ubuntu使用CMake时报错compilation terminated找不到头文件解决方法
- 使用MHA对mysql主从架构中的主节点做高可用
- linux删除文件、文件夹操作
- 细胞自动机,那是什么?
- Vue2.0搭建脚手架(vue-cli)
- linux 耳机设备文件,linux耳机
- 乐筑携手大通,共筑全球绳网产业互联网领导者平台
- 无房产证明怎么办理?
- 2022数模国赛B题无人机第一题第一小问的简单编程
- 2.Echart----绘制饼图
- Mysql登录和修改初始化密码
- 对服务器整体性能画像,青云科技发布新一代企业级云服务器e3 绘制云基础设施标准画像...
- 测试从Mathon插件发表
- paddlepaddle 实现AlexNet模型,复现原创论文
- 飞桨领航团AI达人创造营课程笔记Lesson_2:数据集的获取与处理(CV方向)
- android 音乐 简书,Android音频开发(7):音乐可视化-FFT频谱图
- “互联网+”时代保险公司经营管理模式研究