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实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
python用户管理系统
Mar 13 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
使用Python更换外网IP的方法
Jul 09 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
Python中的四种交换数值的方法解析
Nov 18 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 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
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
提高PHP编程效率的方法
2013/11/07 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
Python列表生成器的循环技巧分享
2015/03/06 Python
基python实现多线程网页爬虫
2015/09/06 Python
详解flask表单提交的两种方式
2018/07/21 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
简单了解python关系(比较)运算符
2019/07/08 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
python匿名函数的使用方法解析
2019/10/10 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
售后服务承诺书模板
2014/05/21 职场文书
PHP策略模式写法
2021/04/01 PHP
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Python实现单例模式的5种方法
2021/06/15 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python