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中列表、字典、元组、集合数据结构整理
Nov 20 Python
Python中属性和描述符的正确使用
Aug 23 Python
Python实现的归并排序算法示例
Nov 21 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
python打包成so文件过程解析
Sep 28 Python
python__name__原理及用法详解
Nov 02 Python
使用Django搭建网站实现商品分页功能
May 22 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Python中random模块常用方法的使用教程
Oct 04 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过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
Python 时间处理datetime实例
2008/09/06 Python
python实现进程间通信简单实例
2014/07/23 Python
python实现简单温度转换的方法
2015/03/13 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
pandas的resample重采样的使用
2020/04/24 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
3分钟演讲稿
2014/04/30 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
营销学习心得体会
2014/09/12 职场文书
见习报告格式范文
2014/11/08 职场文书
小学生思想品德评语
2014/12/31 职场文书