建议:当用行索引的时候, 尽量用 iloc 来进行索引; 而用标签索引的时候用 loc 。.

iloc与loc可以实现相同的功能:

1)iloc获取行列值时只能用数字

2)当DataFrame的行索引为数字时,loc可以用数字获取行值,当DataFrame的行索引为字符串时,loc只能用字符串获取行值;获取列值只能用字符串

import numpy as np
import pandas as pddata=np.arange(0,30,2)  #arange(起始,结束,相差)
data1=data.reshape(5,3) #reshape转换形状
df=pd.DataFrame(data1,columns=('a','b','c')) #columns定义字段
df1=pd.DataFrame(data1,columns=('a','b','c'),index=('悟空','白马','沙僧','八戒','唐僧')) #columns定义字段
print(df)
print('\n')
print(df1)
print('\n')
"""a   b   c
0   0   2   4
1   6   8  10
2  12  14  16
3  18  20  22
4  24  26  28a   b   c
悟空   0   2   4
白马   6   8  10
沙僧  12  14  16
八戒  18  20  22
唐僧  24  26  28
"""# 取单个元素的值
print(df.iloc[2,2])  # 16
print(df.loc[2,'c'])  # 16
print(df1.loc['沙僧','c'])  # 16
print('\n')# 指定单行(Series)
"""
a    12
b    14
c    16
Name: 2, dtype: int32
"""
print(df.iloc[2])
print(df.loc[2])
print(df1.loc['沙僧'])
print('\n')# 指定单行(DataFrame)
"""a   b   c
2  12  14  16
"""
print(df.iloc[[2]])
print(df.loc[[2]])
print(df1.loc[['沙僧']])
print('\n')# 指定单列
"""
0     2
1     8
2    14
3    20
4    26
Name: b, dtype: int32
"""
print(df.iloc[:,1])
print(df.loc[:,'b'])
print(df1.loc[:,'b'])
print(df['b'])
print('\n')# 指定某几行
"""a   b   c
2  12  14  16
4  24  26  28
"""
# print(df.iloc[2,4]) #报错
print(df.iloc[[2,4]])
print(df.loc[[2,4]])
print(df1.loc[['沙僧','唐僧']])
print('\n')# 指定某几列
"""a   c
0   0   4
1   6  10
2  12  16
3  18  22
4  24  28
"""
print(df.iloc[:,[0,2]])
print(df.loc[:,['a','c']])
print(df1.loc[:,['a','c']])
print('\n')# 指定某几行,某几列
"""a   c
2  12  16
4  24  28
"""
print(df.iloc[[2,4],[0,2]])
print(df.loc[[2,4],['a','c']])
print(df1.loc[['沙僧','唐僧'],['a','c']])
print('\n')# 连续多行,iloc[start:end],索引[开始:结束],左闭右开
# 连续多行,loc[start:end],索引[开始:结束],左闭右闭–>与iloc不同
"""a   b   c
1   6   8  10
2  12  14  16
3  18  20  22
"""
print(df.iloc[1:4])
print(df.loc[1:3])
print(df1.loc['白马':'八戒'])
print('\n')# 连续多列,iloc[:,start:end], 索引[开始:结束], 左闭右开
# 连续多列,loc[:,start:end], 索引[开始:结束], 左闭右闭–>与iloc不同
print(df.iloc[:,0:2])
print(df.loc[:,'a':'b'])
print(df1.loc[:,'a':'b'])
print('\n')
"""a   b
0   0   2
1   6   8
2  12  14
3  18  20
4  24  26
"""# 切片来取指定行列
print(df.iloc[2:4,1:])
print(df.loc[2:3,'b':])
print(df1.loc['沙僧':'八戒','b':])
print('\n')
"""b   c
2  14  16
3  20  22
"""

pandas iloc 与 loc相关推荐

  1. pandas的行列获取/pandas iloc和loc的使用/如何获取pandas的行和列

    Pandas行和列的获取 由于平时没有系统的学习pandas,导致在实际应用过程中,对于获取df中的行和列经常出现问题,于是总结一下,供自己以后参考. 参考的书籍在线版链接:利用 Python 进行数 ...

  2. c++没有终结符的多行输入如何停止_如何使用iloc和loc 对Pandas Dataframe进行索引和切片...

    在这篇文章中,我们将使用iloc和loc来处理数据.更具体地说,我们将通过iloc和loc例子来学习切片和索引. 一旦我们将一个数据集加载为Pandas dataframe,我们通常希望根据某些条件开 ...

  3. dataframe iloc_如何使用iloc和loc 对Pandas Dataframe进行索引和切片

    在这篇文章中,我们将使用iloc和loc来处理数据.更具体地说,我们将通过iloc和loc例子来学习切片和索引. 一旦我们将一个数据集加载为Pandas dataframe,我们通常希望根据某些条件开 ...

  4. python中iloc切片_如何使用iloc和loc 对Pandas Dataframe进行索引和切片

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在这篇文章中,我们将使用iloc和loc来处理数据.更具体地说,我们将通过iloc和loc例子来学习切片和 ...

  5. Pandas中iloc、loc、ix三者的区别

    一.综述:iloc.loc.ix可以用来索引数据.抽取数据 二.iloc.loc.ix三者对比 iloc和loc的区别 iloc主要使用数字来索引数据,不能使用字符型的标签来索引数据. loc只能使用 ...

  6. python iloc函数_python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)

    df是一个dataframe,列名为A B C D 具体值如下: A B C D 0 ss 小红 8 1 aa 小明 d 4 f f 6 ak 小紫 7 dataframe里的属性是不定的,空值默认为 ...

  7. python中的ix是啥_详谈Pandas中iloc和loc以及ix的区别

    Pandas库中有iloc和loc以及ix可以用来索引数据,抽取数据.但是方法一多也容易造成混淆.下面将一一来结合代码说清其中的区别. 1. iloc和loc的区别: iloc主要使用数字来索引数据, ...

  8. python中iloc的详细用法_python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)...

    df是一个dataframe,列名为A B C D 具体值如下: A B C D 0 ss 小红 8 1 aa 小明 d 4 f f 6 ak 小紫 7 dataframe里的属性是不定的,空值默认为 ...

  9. pandas DataFrame 索引(iloc 与 loc 的区别)

    Pandas--ix vs loc vs iloc区别 0. DataFrame DataFrame 的构造主要依赖如下三个参数: data:表格数据: index:行索引: columns:列名: ...

最新文章

  1. c#执行oracle存储过程,C#中如何执行存储过程方法
  2. python去除中间空格只留一个_汇总初学Python的21个操作难点,看完别再去踩坑了...
  3. MySQL主从原理,基于快速学习一门技术的3种方式!
  4. 改变openssl的环境变量linux,ECS Linux 安装配置openssl的具体过程
  5. C#互操作性平台调用基础知识
  6. 使用代码设置Item级的权限(权限总结1)
  7. sublime text3c语言编译运行,c – Sublime text 3 – 编译程序并在终端中运行
  8. eclipse中的插件安装(svn、maven、jetty等)
  9. 《构建之法》阅读笔记1
  10. paip.ASP 开发调试大总结
  11. 我们终将死去,这难道不够美好吗?
  12. c语言ax2bxc0的求根公式,ax2+bx+c=0的求根公式
  13. Android攻城狮 Handler与子线程
  14. 谈谈堆排序,大顶堆,小顶堆
  15. 考华为云认证的必要条件、注意事项
  16. js indexOf使用及注意事项以及数组使用indexOf
  17. matlab模拟双星问题,物理定律、数学模型告诉你,天下有情人终将分手!
  18. 计算机高考英语,高考英语优秀作文 Computer(计算机)
  19. android项目实战博学谷百度云,Android项目实战系列—基于博学谷(七)课程模块(下)...
  20. 转载:QQ自动强制加好友代码html

热门文章

  1. 排序学习(Learning to rank)综述
  2. 蚂蚁金服:6大业务线打造以数据为核心的金融生态
  3. MYSQL添加远程用户或允许远程访问
  4. 用随机数形成一个由1-50组成的10个元素的列表,不允许有重复项,并升序排列,要求从键盘中输入一个1-50的整数,将这个整数按顺序插入到这个列表中,如果输入的数字在原列表中存在的话,重新输入。
  5. HeapSter(k8s1.12版本已弃用)-influxdb+heapster+grafana
  6. php文件怎么做壁纸,自动调取在线壁纸作为网站背景(PHP接口源码)+赠送三个壁纸接口...
  7. 电脑如何分享网络给手机上网
  8. html怎么自动点击按钮事件,JS按钮点击事件自动运行的问题?
  9. W10左上角为什么显示声音音量框,同时会遮挡屏幕,如何解决?
  10. 计算机辅助制造技术的应用,计算机辅助制造技术应用