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实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
django 多数据库配置教程
May 30 Python
Python使用while循环花式打印乘法表
Jan 28 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
Django数据库操作之save与update的使用
Apr 01 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
深入了解Python 方法之类方法 &amp; 静态方法
Aug 17 Python
利用Python批量识别电子账单数据的方法
Feb 08 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
js 动态选中下拉框
2009/11/26 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
vue实现购物车列表
2020/06/30 Javascript
Python卸载模块的方法汇总
2016/06/07 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
Python3获取cookie常用三种方案
2020/10/05 Python
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
C语言面试题
2015/10/30 面试题
.NET常见笔试题集
2012/12/01 面试题
农村党支部先进事迹
2014/01/14 职场文书
会计电算化专业求职信
2014/06/10 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
队名及霸气口号大全
2015/12/25 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
移除Selenium中window.navigator.webdriver值
2022/06/10 Python