5.pandas新增数据列
有的时候,表格自带的数据根本没有办法满足我们,我们经常会新加一列数据或者对原有的数据进行修改
还是接着上篇文章的数据进行操作
直接赋值
我想算一下每一天的温差
df.loc[:, 'wencha'] = df['wendu_max'] - df['wendu_min']
wendu_min wendu_max weather fengji wencha
data
2020-01-01 1 15 晴 1 14
2020-01-02 1 16 多云 2 15
2020-01-03 1 17 小雨 4 16
2020-01-04 4 18 阴 2 14
2020-01-05 1 19 大雨 1 18
2020-01-06 3 20 小雨 3 17
2020-01-07 1 21 晴 5 20
2020-01-08 1 22 多云 2 21
2020-01-09 1 23 阴 1 22
2020-01-10 0 24 小雨 3 24
2020-01-11 2 25 多云 4 23
这样就多了一列温差的数据
apply条件添加
我现在想加一个温度类型列,低于20度的是低温,20-24的是中温,25以上的是高温
def temperatureType(df):
if df['wendu_max'] < 20:
return '低温'
elif 24 >= df['wendu_max'] >= 20:
return '中温'
else:
return '高温'
df.loc[:, 'wendu_t'] = df.apply(temperatureType, axis=1)
wendu_min wendu_max weather fengji wencha wendu_t
data
2020-01-01 1 15 晴 1 14 低温
2020-01-02 1 16 多云 2 15 低温
2020-01-03 1 17 小雨 4 16 低温
2020-01-04 4 18 阴 2 14 低温
2020-01-05 1 19 大雨 1 18 低温
2020-01-06 3 20 小雨 3 17 中温
2020-01-07 1 21 晴 5 20 中温
2020-01-08 1 22 多云 2 21 中温
2020-01-09 1 23 阴 1 22 中温
2020-01-10 0 24 小雨 3 24 中温
2020-01-11 2 25 多云 4 23 高温
这里有几个点需要注意:
- apply里面是函数名而不是函数名()
- axis=1是列的匹配,比如是通过最高温度进行筛选,最高温度是其中一列
- axis=0是索引匹配,如果是想通过日期来新加一列,就应该是axis=0
assign多列添加
我想将摄氏度转换成华氏度
df = df.assign(
min_huas=lambda x: x['wendu_min'] * 9 / 5 + 32,
max_huas=lambda x: x['wendu_max'] * 9 / 5 + 32,
)
wendu_min wendu_max weather fengji min_huas max_huas
data
2020-01-01 1 15 晴 1 33.8 59.0
2020-01-02 1 16 多云 2 33.8 60.8
2020-01-03 1 17 小雨 4 33.8 62.6
2020-01-04 4 18 阴 2 39.2 64.4
2020-01-05 1 19 大雨 1 33.8 66.2
2020-01-06 3 20 小雨 3 37.4 68.0
2020-01-07 1 21 晴 5 33.8 69.8
2020-01-08 1 22 多云 2 33.8 71.6
2020-01-09 1 23 阴 1 33.8 73.4
2020-01-10 0 24 小雨 3 32.0 75.2
2020-01-11 2 25 多云 4 35.6 77.0
分组添加
如果高低温差大于15度,我就认为温差大,否则就是温差小
df.loc[df['wendu_max'] - df['wendu_min'] > 15, 'wencha'] = '温差大'
df.loc[df['wendu_max'] - df['wendu_min'] <= 15, 'wencha'] = '温差小'
wendu_min wendu_max weather fengji wencha
data
2020-01-01 1 15 晴 1 温差小
2020-01-02 1 16 多云 2 温差小
2020-01-03 1 17 小雨 4 温差大
2020-01-04 4 18 阴 2 温差小
2020-01-05 1 19 大雨 1 温差大
2020-01-06 3 20 小雨 3 温差大
2020-01-07 1 21 晴 5 温差大
2020-01-08 1 22 多云 2 温差大
2020-01-09 1 23 阴 1 温差大
2020-01-10 0 24 小雨 3 温差大
2020-01-11 2 25 多云 4 温差大
5.pandas新增数据列的更多相关文章
- pandas 新增数据列(直接赋值、apply,assign、分条件赋值)
# pandas新增数据列(直接赋值.apply.assign.分条件赋值) # pandas在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析 # 1 直接赋值 # 2 df. ...
- Pandas怎样新增数据列
Pandas怎样新增数据列? 在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析. 直接赋值 df.apply方法 df.assign方法 按条件选择分组分别赋值 0.读取csv ...
- Pandas常用操作 - 新增数据列
初始化测试数据 df = pd.DataFrame({'stu_name': ['Nancy', 'Tony', 'Tim', 'Jack', 'Lucy'], 'stu_age': [17, 16, ...
- 【转载】C#如何往DataTable中新增一个数据列
在C#中的Datatable数据变量的操作过程中,有时候我们需要往现有的DataTable中新增一个自定义数据列,该列在原有的DataTable变量中并不存在,属于用户手工自定义新增的数据列,在往Da ...
- Pandas中查看列中数据的种类及个数
Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data ...
- 【转载】使用Pandas创建数据透视表
使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...
- Web jquery表格组件 JQGrid 的使用 - 8.Pager、新增数据、查询、刷新、查看数据
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- 【转载】使用Pandas对数据进行筛选和排序
使用Pandas对数据进行筛选和排序 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas对数据进行筛选和排序 目录: sort() 对单列数据进行排序 对多列数据进行排序 获取金额最小前10项 ...
- 【转载】使用Pandas进行数据提取
使用Pandas进行数据提取 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据提取 目录 set_index() ix 按行提取信息 按列提取信息 按行与列提取信息 提取特定日期的信 ...
随机推荐
- docker创建tomcat容器
配置阿里云镜像地址:先在阿里云搜索:容器镜像服务 --> 最下面找到 容器加速服务 docker配置 etc目录下 创建docker文件夹 mkdir --->docker --- ...
- JavaScript图形实例:窗花图案
1.窗花基本框线 设定曲线的坐标方程为: n=25; r=100; x=r/n*cos(5*θ)+r*cos(θ); y=r/n*sin(5*θ)+r*sin(θ); (0≤θ≤2π ...
- MongoDB快速入门教程 (4.3)
4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多 ...
- HttPclient 以post方式发送json
使用HttpClient 以POST的形式发送json字符串 步骤: 1.url .parameters 2.创建httpClient对象 3.创建HttpPost对象 4.为post对象设置参数 5 ...
- 服务消费者(Ribbon)
上一篇文章,简单概述了服务注册与发现,在微服务架构中,业务都会被拆分成一个独立的服务,服务之间的通讯是基于http restful的,Ribbon可以很好地控制HTTP和TCP客户端的行为,Sprin ...
- Spring中AOP相关的API及源码解析
Spring中AOP相关的API及源码解析 本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring ...
- 相邻元素之间的margin合并问题
任何元素都可以设置border 设置宽高可能无效 行内元素设置padding,margin上下是无效的,左右是有效的 外边距合并:指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距 ...
- Django---进阶1
目录 静态文件配置 request对象方法初识 pycharm链接数据库(MySQL) django链接数据库(MySQL) Django ORM 字段的增删改查 数据的增删改查 今日作业 静态文件配 ...
- Jmeter系列(33)- 跨平台运行 Jmeter,CSV 文件路径如何设置?
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 抛出问题 上一篇文章中详细讲解了 CS ...
- Flask 上下文机制和线程隔离
1. 计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决, 上下文机制就是这句话的体现. 2. 如果一次封装解决不了问题,那就再来一次 上下文:相当于一个容器,保存了Flask程序运行过程中 ...