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动态加载模块的3种方法
Nov 22 Python
Python lambda和Python def区别分析
Nov 30 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
Python数据可视化之画图
Jan 15 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
Python实现滑动平均(Moving Average)的例子
Aug 24 Python
Django Form and ModelForm的区别与使用
Dec 06 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python实现经典排序算法的示例代码
Feb 07 Python
PyCharm+Miniconda3安装配置教程详解
Feb 16 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
PHP精确计算功能示例
2016/11/29 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
php和html的区别点详细总结
2019/09/24 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
Python实现视频下载功能
2017/03/14 Python
python中的闭包函数
2018/02/09 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python中的json总结
2018/10/11 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
歌唱比赛主持词
2014/03/18 职场文书
车间核算员岗位职责
2014/07/01 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
部队2014年终工作总结
2014/11/27 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书