pandas DataFrame 根据多列的值做判断,生成新的列值实例


Posted in Python onMay 18, 2018

环境:Python3.6.4 + pandas 0.22

主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如果axis为1则每次取一列。

如代码所示,判断如果城市名中含有ing字段且年份为2016,则新列test值赋为1,否则为0.

import numpy as np 
import pandas as pd 
 
data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'], 
 'year': [2016,2016,2015,2017,2016, 2016], 
 'population': [2100, 2300, 1000, 700, 500, 500]} 
frame = pd.DataFrame(data, columns = ['year', 'city', 'population', 'debt']) 
 
def function(a, b): 
 if 'ing' in a and b == 2016: 
 return 1 
 else: 
 return 0 
print(frame, '\n') 
frame['test'] = frame.apply(lambda x: function(x.city, x.year), axis = 1) 
print(frame)

运行结果如下:

pandas DataFrame 根据多列的值做判断,生成新的列值实例

另外Series类型也有apply函数,用法示例如下:

import numpy as np 
import pandas as pd 
 
data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'], 
 'year': [2016,2016,2015,2017,2016, 2016], 
 'population': [2100, 2300, 1000, 700, 500, 500]} 
frame = pd.DataFrame(data, columns = ['year', 'city', 'population', 'debt']) 
 
print(frame, '\n') 
frame['panduan'] = frame.city.apply(lambda x: 1 if 'ing' in x else 0) 
print(frame)

运行结果如下:

pandas DataFrame 根据多列的值做判断,生成新的列值实例

以上这篇pandas DataFrame 根据多列的值做判断,生成新的列值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
Python简明入门教程
Aug 04 Python
python从入门到精通(DAY 3)
Dec 20 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python将图片转换为字符画的方法
Jun 16 Python
基于Python Numpy的数组array和矩阵matrix详解
Apr 04 Python
Django安装配置mysql的方法步骤
Oct 15 Python
python如何实现不可变字典inmutabledict
Jan 08 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
Python中Cookies导出某站用户数据的方法
May 17 Python
实例讲解Python中sys.argv[]的用法
Jun 03 Python
pandas.loc 选取指定列进行操作的实例
May 18 #Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 #Python
解决pycharm无法调用pip安装的包问题
May 18 #Python
解决已经安装requests,却依然提示No module named requests问题
May 18 #Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 #Python
解决Pycharm无法import自己安装的第三方module问题
May 18 #Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 #Python
You might like
PHP调用VC编写的COM组件实例
2014/03/29 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
Python脚本处理空格的方法
2016/08/08 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
python判断正负数方式
2020/06/03 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
PHP开发工程师面试问题集锦
2012/11/01 面试题
校园安全演讲稿
2014/05/09 职场文书
初中新生军训方案
2014/05/13 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
教师聘用意向书
2015/05/11 职场文书