pandas.DataFrame()中的iloc和loc用法

pandas.DataFrame()中的iloc和loc用法简单的说:iloc,即indexlocate用index索引进行定位,所以参数是整型,如:df.iloc[10:20,3:5]loc,则可以使用column名和index名进行定位,如:df.loc[‘image1’:‘image10’,‘age’:‘score’]实例:importnumpyasnpimportpandasaspdfrompandasimpo…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

简单的说:
iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
loc,则可以使用column名和index名进行定位,如:
df.loc[‘image1’:‘image10’, ‘age’:‘score’]
实例:

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

np.random.seed(666)

df = pd.DataFrame(np.random.rand(25).reshape([5, 5]), index=['A', 'B', 'D', 'E', 'F'], columns=['c1', 'c2', 'c3', 'c4', 'c5'])

print(df.shape) # (5, 5)

# 返回前五行
df.head()
# 返回后五行
df.tail()

# 访问 某几个 列
print(df[['c1', 'c4']])
''' c1 c4 A 0.700437 0.727858 B 0.012703 0.099929 D 0.200248 0.700845 E 0.774479 0.110954 F 0.023236 0.197503 '''

# 赋值于一个新的 dataframe
sub_df = df[['c1', 'c3', 'c5']]
''' c1 c3 c5 A 0.700437 0.676514 0.951458 B 0.012703 0.048813 0.508066 D 0.200248 0.192892 0.293228 E 0.774479 0.112858 0.247668 F 0.023236 0.340035 0.909180 '''

# 查看前五行
print(sub_df.head(5))
''' c1 c3 c5 A 0.700437 0.676514 0.951458 B 0.012703 0.048813 0.508066 D 0.200248 0.192892 0.293228 E 0.774479 0.112858 0.247668 F 0.023236 0.340035 0.909180 '''

# 查看中间 几行 的数据 使用 方法 iloc
print(sub_df.iloc[1:3, :])  # iloc : index location 用索引定位
''' c1 c3 c5 B 0.012703 0.048813 0.508066 D 0.200248 0.192892 0.293228 '''

# 过滤 列
print(sub_df.iloc[1:2, 0:2]) # 和python的用法一样,但是 该方法 是 基于 index 信息的
''' c1 c3 B 0.012703 0.048813 '''

# loc 方法, 通过label 名称来过滤
print(sub_df.loc['A':'B', 'c1':'c3']) # 基于 label 选择
''' c1 c3 A 0.700437 0.676514 B 0.012703 0.048813 '''

需要注意的是:
在iloc使用索引定位的时候,因为是索引,所以,会按照索引的规则取值,如:[1:5] 会取出 1,2,3,4 这4个值。
但是loc按照label标签取值则不是这样的。如:[‘A’:‘C’] A,B,C 都会取出来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179497.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PyCharm、Itellij IDEA最好用的插件和主题[通俗易懂]

    PyCharm、Itellij IDEA最好用的插件和主题[通俗易懂]免费分享我用过相对来说最好的几款PyCharm、ItellijIDEA的插件和主题

  • leetcode 最长有效括号_字符指针赋值为什么不能加大括号

    leetcode 最长有效括号_字符指针赋值为什么不能加大括号给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0题解括号匹配:(看作+1,)看作-1,所有满足条件的括号应该是前缀和>=0,并且总和==0class Solution {public: const int INF =

  • clientheight什么意思_document.body.clientheight

    clientheight什么意思_document.body.clientheight转载自:https://www.imooc.com/article/17571网页可见区域高:document.body.clientHeight网页正文全文高:document.body.scrollHeight网页可见区域高(包括边线的高):document.body.offsetHeight网页被卷去的高:document.body.scrollTop屏幕分辨率高:window.s…

  • 光纤交换机划ZONE

    光纤交换机划ZONE虽然我们在媒体上可以看到许多厂商声称有SAN交换机可以选择,其实这是一种假象,绝大多数厂商的SAN交换机都是OEM几个主要品牌的。目前在SAN交换机方面真正有实力主要有:IBM、Brocade(博科)、Cisco、McDATA等,像EMC这样的软件厂商基本上都是OEM其它厂商的SAN交换机产品。下图为Brocade(博科)交换机,本文也以其为例,记录其划分命令和划分方法:连接交换机…

  • idea2021.4.14 mac版激活码_通用破解码

    idea2021.4.14 mac版激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • pycharmpip安装_更改pip源地址

    pycharmpip安装_更改pip源地址Pycharm更换下载源更换原因在使用Pycharm的时候不免要下载许多的第三方库,特别是移植过来的项目更是一个文件的依赖包需要下载而Pycharm默认的官方源下载比较慢,我们可以通过配置来更换国内下载源靠谱的pip镜像源源清华源:https://pypi.tuna.tsinghua.edu.cn/simple豆瓣源:http://pypi.douban.com/simple/阿里源:http://mirrors.aliyun.com/pypi/simple/

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号