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 按行提取信息 按列提取信息 按行与列提取信息 提取特定日期的信 ...
随机推荐
- MongoDB快速入门教程 (4.3)
4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多 ...
- ORACLE误删除表数据或误更新/插入数据如何恢复
工作中一不小心将本不该删除/更新/插入的数据进行删除/更新/插入了,这时候一定要尽快进行恢复. 工具/原料 PL/SQL 方法/步骤 首先新建一张测试表TEST,里面输入记录.由于删除/更 ...
- Dysregulation of Exosome Cargo by Mutant Tau Expressed in Human-induced Pluripotent Stem Cell (iPSC) Neurons Revealed by Proteomics Analyses(蛋白质组学揭示了人诱导的多能干细胞(iPSC)神经元中表达的突变Tau对外泌体的失调) 解读人:梁玉婷
期刊名:MCP 发表时间:(2020年4月) IF:4.828 单位:Skaggs School of Pharmacy and Pharmaceutical Sciences, University ...
- 轻松搞定安全框架(Shiro)
SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...
- 烦人的B数
B树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点: B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点: 所有关键字在整颗树中出现, ...
- 每日一题 - 剑指 Offer 35. 复杂链表的复制
题目信息 时间: 2019-06-28 题目链接:Leetcode tag: 链表 难易程度:中等 题目描述: 请实现 copyRandomList 函数,复制一个复杂链表.在复杂链表中,每个节点除了 ...
- CSS通过text-transform实现大写、小写和首字母大写转换
再日常项目中可能会用到一些特殊的样式,比如大写字母转小写.小写字母转大写.首字母大写等. 可以通过 CSS 的 text-transform 属性来实现: text-transform 转换不同的文本 ...
- P1220 关路灯——区间dp
P1220 关路灯 题目描述 某一村庄在一条路线上安装了 \(n\) 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一 ...
- H5+CSS复习笔记(全)
1.自结束标签和注释 通常标签都是成对出现,如<h1></h1>,<div></div>等等.但是又些标签是没有结束标签的,成为自结束标签,如<i ...
- selenium 怎么查找定位鼠标移上去显示,移开鼠标就消失的内容
场景:鼠标移动到一级菜单上二级菜单才显示,移开鼠标二级菜单就消失,如何查找定位二级菜单 操作: 1.打开F12,点击sources 2.鼠标移动到一级菜单“工单管理” 3.按下键盘“Ctrl+\”,暂 ...