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 字符编码的理解
Sep 02 Python
python使用tensorflow保存、加载和使用模型的方法
Jan 31 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
python实现聊天小程序
Mar 13 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
面向新手解析python Beautiful Soup基本用法
Jul 11 Python
Python3.9.1中使用match方法详解
Feb 08 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 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
PHP中cookie和session的区别实例分析
2014/08/28 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
python操作gmail实例
2015/01/14 Python
让Python代码更快运行的5种方法
2015/06/21 Python
python自带的http模块详解
2016/11/06 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
Pycharm Git 设置方法
2020/09/15 Python
党课知识竞赛主持词
2014/04/01 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
专家推荐信范文
2015/03/26 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android