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查找函数f(x)=0根的解决方法
May 07 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
详解Python进程间通信之命名管道
Aug 28 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
Python交互式图形编程的实现
Jul 25 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
基于Python实现流星雨效果的绘制
Mar 18 Python
使用Python开发冰球小游戏
Apr 30 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
php中session退出登陆问题
2014/02/27 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
python自动化报告的输出用例详解
2018/05/30 Python
python制作mysql数据迁移脚本
2019/01/01 Python
python从PDF中提取数据的示例
2020/10/30 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
如何做好总经理助理
2013/11/12 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
邀请函的格式
2015/01/30 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
关于远足的感想
2015/08/10 职场文书
思品教学工作总结
2015/08/10 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
css height属性中的calc方法详解
2021/06/03 HTML / CSS
MySQL创建管理LIST分区
2022/04/13 MySQL