python dataframe切片_python pandas dataframe 行列选择,切片操作方法

SQL中的select是根据列的名称来选取;Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position是从0开始)选取。相关函数如下:

1)loc,基于列label,可选取特定行(根据行index);

2)iloc,基于行/列的position;

3)at,根据指定行index及列label,快速定位DataFrame的元素;

4)iat,与at类似,不同的是根据position来定位的;

5)ix,为loc与iloc的混合体,既支持label也支持position;

实例

import pandas as pd

import numpy as np

df = pd.DataFrame({'total_bill': [16.99, 10.34, 23.68, 23.68, 24.59],

'tip': [1.01, 1.66, 3.50, 3.31, 3.61],

'sex': ['Female', 'Male', 'Male', 'Male', 'Female']})

# data type of columns

print df.dtypes

# indexes

print df.index

# return pandas.Index

print df.columns

# each row, return array[array]

print df.values

print df

sex object

tip float64

total_bill float64

dtype: object

RangeIndex(start=0, stop=5, step=1)

Index([u'sex', u'tip', u'total_bill'], dtype='object')

[['Female' 1.01 16.99]

['Male' 1.66 10.34]

['Male' 3.5 23.68]

['Male' 3.31 23.68]

['Female' 3.61 24.59]]

sex tip total_bill

0 Female 1.01 16.99

1 Male 1.66 10.34

2 Male 3.50 23.68

3 Male 3.31 23.68

4 Female 3.61 24.59

print df.loc[1:3, ['total_bill', 'tip']]

print df.loc[1:3, 'tip': 'total_bill']

print df.iloc[1:3, [1, 2]]

print df.iloc[1:3, 1: 3]

total_bill tip

1 10.34 1.66

2 23.68 3.50

3 23.68 3.31

tip total_bill

1 1.66 10.34

2 3.50 23.68

3 3.31 23.68

tip total_bill

1 1.66 10.34

2 3.50 23.68

tip total_bill

1 1.66 10.34

2 3.50 23.68

错误的表示:

print df.loc[1:3, [2, 3]]#.loc仅支持列名操作

KeyError: 'None of [[2, 3]] are in the [columns]'

print df.loc[[2, 3]]#.loc可以不加列名,则是行选择

sex tip total_bill

2 Male 3.50 23.68

3 Male 3.31 23.68

print df.iloc[1:3]#.iloc可以不加第几列,则是行选择

sex tip total_bill

1 Male 1.66 10.34

2 Male 3.50 23.68

print df.iloc[1:3, 'tip': 'total_bill']

TypeError: cannot do slice indexing on with these indexers [tip] of

print df.at[3, 'tip']

print df.iat[3, 1]

print df.ix[1:3, [1, 2]]

print df.ix[1:3, ['total_bill', 'tip']]

3.31

3.31

tip total_bill

1 1.66 10.34

2 3.50 23.68

3 3.31 23.68

total_bill tip

1 10.34 1.66

2 23.68 3.50

3 23.68 3.31

print df.ix[[1, 2]]#行选择

sex tip total_bill

1 Male 1.66 10.34

2 Male 3.50 23.68

print df[1: 3]

print df[['total_bill', 'tip']]

# print df[1:2, ['total_bill', 'tip']] # TypeError: unhashable type

sex tip total_bill

1 Male 1.66 10.34

2 Male 3.50 23.68

total_bill tip

0 16.99 1.01

1 10.34 1.66

2 23.68 3.50

3 23.68 3.31

4 24.59 3.61

print df[1:3,1:2]

TypeError: unhashable type

总结

1).loc,.iloc,.ix,只加第一个参数如.loc([1,2]),.iloc([2:3]),.ix[2]…则进行的是行选择

2).loc,.at,选列是只能是列名,不能是position

3).iloc,.iat,选列是只能是position,不能是列名

4)df[]只能进行行选择,或列选择,不能同时进行列选择,列选择只能是列名。

以上这篇python pandas dataframe 行列选择,切片操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: python pandas dataframe 行列选择,切片操作方法

本文地址: http://www.cppcns.com/jiaoben/python/224997.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php根据设备判断访问,PHP判断设备访问来源

/*** 判断用户请求设备是否是移动设备* return bool*/function isMobile() {//如果有HTTP_X_WAP_PROFILE则一定是移动设备if (isset($_SERVER[HTTP_X_WAP_PROFILE])) {return true;}//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息if (isset($_SERVER[HTTP_VIA])…

机器学习 深度学习 ai_如何学习机器学习和人工智能?

机器学习 深度学习 aiSTRATEGY 战略 Learn theory practical aspects. 学习理论和实践方面的知识。 (At first get an overview of what you are going to learn). (首先获得要学习的内容的概述)。 Gain a good hold/insight on each concept. 掌握/理解每个概念。 If you …

linux常用命令和配置

2019独角兽企业重金招聘Python工程师标准>>> 启动php: /etc/init.d/php-fpm restart 查看PHP运行目录: which php /usr/bin/php 查看php-fpm进程数: ps aux | grep -c php-fpm 查看运行内存 /usr/bin/php -i|grep mem iptables如…

centos7时间同步_centos 8.x系统配置chrony时间同步服务

centos 8.x系统配置chrony时间同步服务CentOS 7.x默认使用的时间同步服务为ntp服务,但是CentOS 8开始在官方的仓库中移除了ntp软件,换成默认的chrony进行时间同步的服务,chrony既可以作为客户端向其他时间服务器发送时间同步请求,…

php可以用scanf,C/C++中 使用scanf和printf如何读入输出double型数据。

黄舟2017-04-17 13:47:232楼注意scanf函数和printf函数是不同寻常的函数,因为它们都没有将函数的参数限制为固定数量。scanf函数和printf函数又可变长度的参数列表。当调用带可变长度参数列表的函数时,编译器会安排float参数自动转换成为double类型&…

ICWAI和ICWA的完整形式是什么?

ICWAI / ICWA:印度成本与工程会计师协会/印度儿童福利法 (ICWAI / ICWA: Institute of Cost and Works Accountants of India / Indian Child Welfare Act) 1)ICWAI:印度成本与工程会计师协会 (1) ICWAI: Institute of Cost and Works Accountants of In…

深入研究java.lang.Runtime类【转】

转自:http://blog.csdn.net/lastsweetop/article/details/3961911 目录(?)[-] javalang 类 RuntimegetRuntimeexitaddShutdownHookremoveShutdownHookhaltrunFinalizersOnExitexecexecexecexecexecexecavailableProcessorsfreeMemorytotalMemorymaxMemorygcrunFina…

java队列实现限流,java中应对高并发的两种策略

目的:提高可用性通过ExecutorService实现队列泄洪//含有20个线程的线程池private ExecutorService executorService Executors.newFixedThreadPool(20);将有并发压力的下游代码放入到线程池的submit方法中,如下://同步调用线程池的submit方法…

crontab 日志_liunx 中定时清理过期日志文件

问题描述经常遇到日志文件过多,占用大量磁盘空间,需要定期删除过期日志。问题涉及方面删除过期日志的脚本。定时任务删除任务脚本先查询到过期的日志文件,然后删除。语法find path -option [ -print ] [ -exec -ok command ] …

JavaScript | 数组的常用属性和方法

JavaScript的通用属性和数组方法 (Common properties and methods of array in JavaScript ) Properties/MethodsDescriptionsarray.lengthReturns the length of the array/total number of elements of the array array[index]Returns the item name stored at “index” pos…

php dbutils 使用,dbutilsapi

相对lisp?而?言,可以使?用.net的强?大api,实现各种酷炫功能。相对c#及arx?...文件utils.py的模块名分别是mycompany.utils和 mycompany.web.utils。 mycompany......CouchDB -b 关闭后台运行的 CouchDB : CouchDB -d web 访问:http://127.0.0.1:5984/_utils/index.html E-…

html 导航栏

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>lvnian学习(http://lvnian.blog.51cto.com/)</title> <style> ul {list-style-type:none;margin:0;padding:0; }a:link,a:visited{display:block;font-weigh…

将搜索二叉树转换为链表_将给定的二叉树转换为双链表(DLL)

将搜索二叉树转换为链表Given a Binary tree and we have to convert it to a Doubly Linked List (DLL). 给定二叉树&#xff0c;我们必须将其转换为双链表(DLL)。 Algorithm: 算法&#xff1a; To solve the problem we can follow this algorithm: 为了解决这个问题&#…

cuda编程_CUDA刷新器:CUDA编程模型

CUDA刷新器&#xff1a;CUDA编程模型 CUDA Refresher: The CUDA Programming Model CUDA&#xff0c;CUDA刷新器&#xff0c;并行编程 这是CUDA更新系列的第四篇文章&#xff0c;它的目标是刷新CUDA中的关键概念、工具和初级或中级开发人员的优化。 CUDA编程模型提供了GPU体系结…

php curl_error源码,PHP curl_error函数

PHP curl_error函数(PHP 4 > 4.0.3, PHP 5)curl_error — 返回一个保护当前会话最近一次错误的字符串说明string curl_error ( resource $ch )返回一条最近一次cURL操作明确的文本的错误信息。参数ch由 curl_init() 返回的 cURL 句柄。返回值返回错误信息或 (空字符串) 如果…

SQL中Where与Having的区别

“Where” 是一个约束声明&#xff0c;使用Where来约束来之数据库的数据&#xff0c;Where是在结果返回之前起作用的&#xff0c;且Where中不能使用聚合函数。“Having”是一个过滤声明&#xff0c;是在查询返回结果集以后对查询结果进行的过滤操作&#xff0c;在Having中可以使…

java 逻辑表达式 布尔_使用基本逻辑门实现布尔表达式

java 逻辑表达式 布尔将布尔表达式转换为逻辑电路 (Converting Boolean Expression to Logic Circuit) The simplest way to convert a Boolean expression into a logical circuit is to follow the reverse approach in which we start from the output of the Boolean expre…

python自然语言处理书籍_精通Python自然语言处理pdf

自然语言处理&#xff08;NLP&#xff09;是有关计算语言学与人工智能的研究领域之一。NLP主要关注人机交互&#xff0c;它提供了计算机和人类之间的无缝交互&#xff0c;使得计算机在机器学习的帮助下理解人类语言。 本书详细介绍如何使用Python执行各种自然语言处理&#xff…

通达oa 2013 php解密,通达OA漏洞学习 - 安全先师的个人空间 - OSCHINA - 中文开源技术交流社区...

说明通达OA漏洞在去年上半年已爆出&#xff0c;这不趁着周末没事做&#xff0c;将源码下载下来进行复现学习。文件包含测试文件包含检测&#xff0c;payload1:ip/ispirit/interface/gateway.php?json{"url":"/general/../../mysql5/my.ini"}利用文件包含访…

温赵轮 访谈

“温赵轮”三大软狗&#xff0c;你听说过吗&#xff1f;今天的1024访谈录给大家介绍的就是程序员中当之无愧的偶像组合——温赵轮。 Winter寒冬。阿里P8&#xff0c;正在向P9的道路上奔跑。传说中的他有钱、出身好&#xff0c;可不是搞互联网的屌丝程序员。 老赵&#xff0c;…