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中捕捉详细异常信息的代码示例
Sep 18 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
Aug 21 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
Python定时器线程池原理详解
Feb 26 Python
django queryset相加和筛选教程
May 18 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
详解python算法常用技巧与内置库
Oct 17 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实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
iview实现图片上传功能
2020/06/29 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
Python牛刀小试密码爆破
2011/02/03 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
一份python入门应该看的学习资料
2018/04/11 Python
Python 通配符删除文件的实例
2018/04/24 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
Python BS4库的安装与使用详解
2018/08/08 Python
python连接mysql有哪些方法
2020/06/24 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
大学军训感言
2014/01/10 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
会计学习心得体会
2014/09/09 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Golang ort 中的sortInts 方法
2022/04/24 Golang