pandas取dataframe特定行列的实现方法


Posted in Python onMay 24, 2021

1.按列取、按索引/行取、按特定行列取

import numpy as np
from pandas import DataFrame
import pandas as pd
 
 
df=DataFrame(np.arange(12).reshape((3,4)),index=['one','two','thr'],columns=list('abcd'))
 
df['a']#取a列
df[['a','b']]#取a、b列
 
#ix可以用数字索引,也可以用index和column索引
df.ix[0]#取第0行
df.ix[0:1]#取第0行
df.ix['one':'two']#取one、two行
df.ix[0:2,0]#取第0、1行,第0列
df.ix[0:1,'a']#取第0行,a列
df.ix[0:2,'a':'c']#取第0、1行,abc列
df.ix['one':'two','a':'c']#取one、two行,abc列
df.ix[0:2,0:1]#取第0、1行,第0列
df.ix[0:2,0:2]#取第0、1行,第0、1列
 
#loc只能通过index和columns来取,不能用数字
df.loc['one','a']#one行,a列
df.loc['one':'two','a']#one到two行,a列
df.loc['one':'two','a':'c']#one到two行,a到c列
df.loc['one':'two',['a','c']]#one到two行,ac列
 
#iloc只能用数字索引,不能用索引名
df.iloc[0:2]#前2行
df.iloc[0]#第0行
df.iloc[0:2,0:2]#0、1行,0、1列
df.iloc[[0,2],[1,2,3]]#第0、2行,1、2、3列
 
#iat取某个单值,只能数字索引
df.iat[1,1]#第1行,1列
#at取某个单值,只能index和columns索引
df.at['one','a']#one行,a列

2.按条件取行

选取等于某些值的行记录 用 ==
df.loc[df[‘column_name'] == some_value]
 
选取某列是否是某一类型的数值 用 isin
df.loc[df[‘column_name'].isin(some_values)]
 
多种条件的选取 用 &
df.loc[(df[‘column'] == some_value) & df[‘other_column'].isin(some_values)]
 
选取不等于某些值的行记录 用 !=
df.loc[df[‘column_name'] != some_value]
 
isin返回一系列的数值,如果要选择不符合这个条件的数值使用~
df.loc[~df[‘column_name'].isin(some_values)]

3.取完之后替换

df = pd.DataFrame({"id": [25,53,15,47,52,54,45,9], "sex": list('mfmfmfmf'), 'score': [1.2, 2.3, 3.4, 4.5,6.4,5.7,5.6,4.3],"name":['daisy','tony','peter','tommy','ana','david','ken','jim']})

pandas取dataframe特定行列的实现方法

将男性(m)替换为1,女性(f)替换为0

方法1:

df.ix[df['sex']=='f','sex']=0
df.ix[df['sex']=='m','sex']=1

pandas取dataframe特定行列的实现方法

注:在上面的代码中,逗号后面的‘sex'起到固定列名的作用

方法2:

df.sex[df['sex']=='m']=1
df.sex[df['sex']=='f']=0  

4.删除特定行

# 要删除列“score”<50的所有行:
df = df.drop(df[df.score < 50].index)
 
df.drop(df[df.score < 50].index, inplace=True)
 
# 多条件情况
# 可以使用操作符: | 只需其中一个成立, & 同时成立, ~ 表示取反,它们要用括号括起来。
# 例如删除列“score<50 和>20的所有行
df = df.drop(df[(df.score < 50) & (df.score > 20)].index)

参考文献:

【1】pandas 根据列的值选取所有行

【2】pandas小技巧之--值替换

【3】[译]如何根据条件从pandas DataFrame中删除不需要的行? - everfight - 博客园

【4】官网

到此这篇关于pandas取dataframe特定行/列的文章就介绍到这了,更多相关pandas取dataframe特定行/列内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中关于for循环的碎碎念
Jun 30 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
Django后台获取前端post上传的文件方法
May 28 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
Aug 29 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Django 批量插入数据的实现方法
Jan 12 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
pytorch 如何使用amp进行混合精度训练
只需要这一行代码就能让python计算速度提高十倍
pytorch 如何使用float64训练
pytorch 使用半精度模型部署的操作
May 24 #Python
解决Pytorch半精度浮点型网络训练的问题
May 24 #Python
Python办公自动化之Excel(中)
May 24 #Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 #Python
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
2014/05/23 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
金融专业个人求职信
2013/09/22 职场文书
英文版银行求职信
2013/10/09 职场文书
对孩子的寄语
2014/04/09 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
绿色出行口号
2014/06/18 职场文书
工作收入证明模板
2014/10/10 职场文书
市级三好学生评语
2014/12/29 职场文书
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android