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基础教程之序列详解
Aug 29 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python 多进程和数据传递的理解
Oct 09 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
Numpy数据类型转换astype,dtype的方法
Jun 09 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
python实现小程序推送页面收录脚本
Apr 20 Python
Python生成器next方法和send方法区别详解
May 30 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
python 发送get请求接口详解
Nov 17 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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
Prototype Class对象学习
2009/07/19 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
解析Python中的异常处理
2015/04/28 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python利用ansible分发处理任务
2015/08/04 Python
Python求算数平方根和约数的方法汇总
2016/03/09 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python组合无重复三位数的实例
2018/11/13 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python实现LRU热点缓存及原理
2019/10/29 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
介绍Ibatis的核心类
2013/11/18 面试题
pytorch实现手写数字图片识别
2021/05/20 Python
Redis性能监控的实现
2021/07/09 Redis
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server