pandas设置值-【老鱼学pandas】
本节主要讲述如何根据上篇博客中选择出相应的数据之后,对其中的数据进行修改。
对某个值进行修改
例如,我们想对数据集中第2行第2列的数据进行修改:
import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)
# 对第2行第2列的数据进行修改
data.iloc[2, 2] = 111
print("修改后的数据为:")
print(data)
输出为:
data:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 10 11
2017-01-11 12 13 14 15
2017-01-12 16 17 18 19
2017-01-13 20 21 22 23
修改后的数据为:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 111 11
2017-01-11 12 13 14 15
2017-01-12 16 17 18 19
2017-01-13 20 21 22 23
根据筛选条件设置值
比如,我们想对数据集中B列大于14的数据设置为14值,类似SQL中的:
update table set B = 14 where B>14
具体实现为:
import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)
# 把B列中大于14的数设置为14
data.B[data.B>14] = 14
print("修改后的数据为:")
print(data)
输出为:
data:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 10 11
2017-01-11 12 13 14 15
2017-01-12 16 17 18 19
2017-01-13 20 21 22 23
修改后的数据为:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 10 11
2017-01-11 12 13 14 15
2017-01-12 16 14 18 19
2017-01-13 20 14 22 23
增加一列
增加一列空列数据:
import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)
data["E"] = np.nan
print("修改后的数据为:")
print(data)
输出为:
data:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 10 11
2017-01-11 12 13 14 15
2017-01-12 16 17 18 19
2017-01-13 20 21 22 23
修改后的数据为:
A B C D E
2017-01-08 0 1 2 3 NaN
2017-01-09 4 5 6 7 NaN
2017-01-10 8 9 10 11 NaN
2017-01-11 12 13 14 15 NaN
2017-01-12 16 17 18 19 NaN
2017-01-13 20 21 22 23 NaN
这里,我们通过
data["E"] = np.nan
对数据集增加了一列空的数据。
另外,这里不能使用data.E=np.nan的方式对数据集增加一列。
当然,我们也可以把某列的数据增加到一列中:
import pandas as pd
import numpy as np
dates = pd.date_range("2017-01-08", periods=6)
data = pd.DataFrame(np.arange(24).reshape(6, 4), index=dates, columns=["A", "B", "C", "D"])
print("data:")
print(data)
data["E"] = np.arange(6)
print("修改后的数据为:")
print(data)
输出为:
data:
A B C D
2017-01-08 0 1 2 3
2017-01-09 4 5 6 7
2017-01-10 8 9 10 11
2017-01-11 12 13 14 15
2017-01-12 16 17 18 19
2017-01-13 20 21 22 23
修改后的数据为:
A B C D E
2017-01-08 0 1 2 3 0
2017-01-09 4 5 6 7 1
2017-01-10 8 9 10 11 2
2017-01-11 12 13 14 15 3
2017-01-12 16 17 18 19 4
2017-01-13 20 21 22 23 5
这样我们新增了一列E。
pandas设置值-【老鱼学pandas】的更多相关文章
- pandas合并merge-【老鱼学pandas】
本节讲述对于两个数据集按照相同列的值进行合并. 首先定义原始数据: import pandas as pd import numpy as np data0 = pd.DataFrame({'key' ...
- pandas画图-【老鱼学pandas】
本节主要讲述如何把pandas中的数据用图表的方式显示在屏幕上,有点类似在excel中显示图表. 安装matplotlib 为了能够显示图表,首先需要安装matplotlib库,安装方法如下: pip ...
- pandas处理丢失数据-【老鱼学pandas】
假设我们的数据集中有缺失值,该如何进行处理呢? 丢弃缺失值的行或列 首先我们定义了数据集的缺失值: import pandas as pd import numpy as np dates = pd. ...
- pandas合并数据集-【老鱼学pandas】
有两个数据集,我们想把他们的结果根据相同的列名或索引号之类的进行合并,有点类似SQL中的从两个表中选择出不同的记录并进行合并返回. 合并 首先准备数据: import pandas as pd imp ...
- pandas基本介绍-【老鱼学pandas】
前面我们学习了numpy,现在我们来学习一下pandas. Python Data Analysis Library 或 pandas 主要用于处理类似excel一样的数据格式,其中有表头.数据序列号 ...
- pandas导入导出数据-【老鱼学pandas】
pandas可以读写如下格式的数据类型: 具体详见:http://pandas.pydata.org/pandas-docs/version/0.20/io.html 读取csv文件 我们准备了一个c ...
- pandas选择数据-【老鱼学pandas】
选择列 根据列名来选择某列的数据 import pandas as pd import numpy as np dates = pd.date_range("2017-01-08" ...
- matplotlib坐标轴设置-【老鱼学matplotlib】
我们可以对坐标轴进行设置,设置坐标轴的范围,设置坐标轴上的文字描述等. 基本用法 例如: import numpy as np import pandas as pd import matplotli ...
- tensorflow卷积神经网络-【老鱼学tensorflow】
前面我们曾有篇文章中提到过关于用tensorflow训练手写2828像素点的数字的识别,在那篇文章中我们把手写数字图像直接碾压成了一个784列的数据进行识别,但实际上,这个图像是2828长宽结构的,我 ...
随机推荐
- Nginx 处理Http请求简单流程
L45 1:三次握手后 系统内核收到请求根据端口负载均衡的分配到某个worker 2:nginx 会分配一个512byte链接内存池 3:初始化nginx的http模块并等待用户请求,假设用户在cli ...
- python之类的多态(鸭子类型 )、封装和内置函数property
一.多态 1.什么是多态:一个类表现出的多种状态--->通过继承来实现的例如:class Animal:passclass Dog(Animal):passclass Cat(Animal):p ...
- C#操作session的类实例(转)
using System.Web; namespace DotNet.Utilities { public static class SessionHelper2 { /// <summary& ...
- [BZOJ 3992] [SDOI 2015] 序列统计
Description 传送门 Solution [一] 设 \(f[i][j]\) 表示前 \(i\) 个数的乘积在模 \(p\) 意义下等于 \(j\) 的方案数,有 \[ f[i][j]=\su ...
- 【XSY3042】石像 拓扑排序 状压DP 洲阁筛
题目大意 有 \(n\) 个整数 \(a_1,a_2,\ldots,a_n\),每个数的范围是 \([1,m]\).还有 \(k\) 个限制,每个限制 \(x_i,y_i\) 表示 \(a_{x_i} ...
- 多版本python及多版本pip使用
最近做一些网站的发布程序,要用到python3,所以又安装了python3. www.qlrx.netwww.393662.comwww.qnpx.netwww.393225.com ...
- Java【第四篇】基本语法之--循环
循环语句功能 在循环条件满足的情况下,反复执行特定代码 循环语句的四个组成部分 初始化部分(init_statement)循环条件部分(test_exp) 循环体部分(body_statement) ...
- nginx服务器的基本配置
nginx作为反向代理搭建服务器的优点. 处理响应请求很快:单次请求会得到更快的响应.在高峰期,Nginx 可以比其它的 Web 服务器更快的响应请求 高并发连接:理论上,Nginx 支持的并发连接上 ...
- EOJ 306 树上问题
题解: 因为w大于1,所以,题意就是,有多少(x,z),存在x到z的路径上,有一个x<y<z的y w没用的其实. 树上路径问题,有什么方法吗? 1.树链剖分.这个主要方便处理修改操作. 2 ...
- 老男孩Python全栈学习 S9 日常作业 006
1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...