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 相关文章推荐
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
浅谈Python数据类型之间的转换
Jun 08 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
python 识别图片中的文字信息方法
May 10 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
python实现电子书翻页小程序
Jul 23 Python
解决Python logging模块无法正常输出日志的问题
Feb 21 Python
Python实现对adb命令封装
Mar 06 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 Python
python批量生成条形码的示例
Oct 10 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 保留小数点
2009/04/21 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
详解vue v-model
2020/08/31 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
电气自动化个人求职信范文
2014/02/03 职场文书
户外拓展活动方案
2014/02/11 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
应届大学生自荐书
2014/06/17 职场文书
工作检讨书500字
2014/10/19 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
于丹论语心得观后感
2015/06/15 职场文书
在人间读书笔记
2015/06/30 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
Python sklearn分类决策树方法详解
2022/09/23 Python