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爬虫之正则表达式
Feb 17 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
pandas.cut具体使用总结
Jun 24 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
django 通过URL访问上传的文件方法
Jul 28 Python
python实现登录密码重置简易操作代码
Aug 14 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
python help函数实例用法
Dec 06 Python
pycharm实现猜数游戏
Dec 07 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python itertools.product方法代码实例
2020/03/27 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
python中format函数如何使用
2020/06/22 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
会计自我鉴定
2014/02/04 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
房屋产权证明书
2014/10/15 职场文书
办公室岗位职责范本
2015/04/11 职场文书
实习介绍信范文
2015/05/05 职场文书
运动会5000米加油稿
2015/07/21 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python