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 相关文章推荐
详解Python中列表和元祖的使用方法
Apr 25 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
Python random模块用法解析及简单示例
Dec 18 Python
Python内置函数reversed()用法分析
Mar 20 Python
python如何实现反向迭代
Mar 20 Python
对Python3中的input函数详解
Apr 22 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
PyCharm配置mongo插件的方法
Nov 30 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Django多个app urls配置代码实例
Nov 26 Python
Python基础之字符串格式化详解
Apr 21 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简单生成随机数的方法
2015/07/30 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
js格式化时间的方法
2015/12/18 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
python删除过期文件的方法
2015/05/29 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
优秀员工自荐信范文
2013/10/05 职场文书
高中生学习计划书
2014/09/15 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
小学教师师德整改措施
2014/09/29 职场文书
交通安全主题班会
2015/08/12 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
详细介绍python操作RabbitMq
2022/04/12 Python