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的迭代器和生成器使用实例
Jan 14 Python
Python抓取百度查询结果的方法
Jul 08 Python
简要讲解Python编程中线程的创建与锁的使用
Feb 28 Python
Python3.6正式版新特性预览
Dec 15 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
Python单元测试工具doctest和unittest使用解析
Sep 02 Python
如何基于Python实现电子邮件的发送
Dec 16 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 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
关于文本留言本的分页代码
2006/10/09 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
如何使用php实现评委评分器
2015/07/31 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
javascript数组的使用
2013/03/28 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
node.js实现带进度条的多文件上传
2020/03/27 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Python配置文件处理的方法教程
2019/08/29 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
采购文员岗位职责
2013/11/20 职场文书
创先争优承诺书范文
2014/03/31 职场文书
电子专业求职信
2014/06/19 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
平安家庭事迹材料
2014/12/20 职场文书
道歉情书大全
2015/05/12 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
Pandas数据类型之category的用法
2021/06/28 Python