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二分法搜索算法实例分析
May 11 Python
python实现统计代码行数的方法
May 22 Python
Python装饰器使用实例:验证参数合法性
Jun 24 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
django框架单表操作之增删改实例分析
Dec 16 Python
Python3如何在Windows和Linux上打包
Feb 25 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
一文搞懂如何实现Go 超时控制
Mar 30 Python
详解Python小数据池和代码块缓存机制
Apr 07 Python
Django程序的优化技巧
Apr 29 Python
Django中的JWT身份验证的实现
May 07 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php类常量的使用详解
2013/06/08 PHP
关于svn冲突的解决方法
2013/06/21 PHP
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
js判断ie版本号的简单实现代码
2014/03/05 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
Python中的pprint折腾记
2015/01/21 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
爱普生美国官网:Epson美国
2018/11/05 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
信息系统专业个人求职信范文
2013/12/07 职场文书
高校十八大报告感想
2014/01/27 职场文书
入党自我鉴定
2014/03/25 职场文书
任命书格式
2014/06/05 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
特岗教师个人总结
2015/02/10 职场文书
综合测评个人总结
2015/03/03 职场文书
MySQL快速插入一亿测试数据
2021/06/23 MySQL