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的web框架中中编写日志列表的教程
Apr 30 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
如何高效使用Python字典的方法详解
Aug 31 Python
Python探索之ModelForm代码详解
Oct 26 Python
python在线编译器的简单原理及简单实现代码
Feb 02 Python
Python学习小技巧总结
Jun 10 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
python字符串Intern机制详解
Jul 01 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
Django model class Meta原理解析
Nov 14 Python
python内置进制转换函数的操作
Jun 02 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的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
使用js实现数据格式化
2014/12/03 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
error和exception有什么区别
2012/10/02 面试题
中学生差生评语
2014/01/30 职场文书
商场消防演习方案
2014/02/12 职场文书
报告会主持词
2014/04/02 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
中层干部培训方案
2014/06/16 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
党员思想汇报材料
2014/12/19 职场文书
复试通知单模板
2015/04/24 职场文书