欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Pandas中关于数据索引iloc()和loc()的用法和区别

程序员文章站 2023-09-17 23:19:14
Pandas中关于数据索引使用iloc()和loc()的区别导入train.csv数据import pandas as pdData=pd.read_csv('train.csv',index_col=0) #index_col=0把第一列作为行索引print(Data)使用iloc来索引数据时,不考虑真实数据的索引名,如上数据中的列索引"位置","区"等,可以直接使用索引0,1,2,3,4,…来作为第一列/行,第二列/行等的索引。a=Data.iloc[[1,2,3],[2,3,4]]#索...

Pandas中关于数据索引使用iloc()和loc()的区别

导入train.csv数据

import pandas as pd
Data=pd.read_csv('train.csv',index_col=0) #index_col=0把第一列作为行索引
print(Data)

Pandas中关于数据索引iloc()和loc()的用法和区别
使用iloc来索引数据时,不考虑真实数据的索引名,如上数据中的列索引"位置","区"等,可以直接使用索引0,1,2,3,4,…来作为第一列/行,第二列/行等的索引。

a=Data.iloc[[1,2,3],[2,3,4]]#索引第2,3,4行和第3,4,5列的数据
print(a,type(a))

输出结果为:

    卧室数量  卫的数量  厅的数量
ID
1      1     0     0
2      2     2     1
3      3     2     2 <class 'pandas.core.frame.DataFrame'>

可以看到当使用[[],[]]这种格式的索引时,得到的数据类型为:
<class ‘pandas.core.frame.DataFrame’>


a=Data.iloc[1,[2,3,4]]#索引第2行和第3,4,5列的数据
print(a,type(a))

输出的结果为:

卧室数量    1
卫的数量    0
厅的数量    0
Name: 1, dtype: object <class 'pandas.core.series.Series'>

可以看到当使用[n,[]]这种格式的索引时,得到的数据类型为:
<class ‘pandas.core.series.Series’>


a=Data.iloc[1,2]#索引第2行和第3列的数据
print(a,type(a))

输出的结果为:

1 <class 'numpy.int64'>

可以看到当使用[n,m]这种格式的索引时,得到的数据类型为:
<class ‘numpy.int64’>得到的就是一个数


使用loc来索引数据时,需要考虑真实数据的索引名,如上数据中的列索引"位置","区"等,可以直接使用该索引来对数据索引。其使用效果和iloc一致。
这里只看一个例子:

a=Data.loc[[0,1,2,3],['小区名','位置']]
print(a,type(a))

输出的结果为:

    小区名  位置
ID
0   3072  118.0
1   3152  100.0
2   5575  130.0
3   3103   90.0 <class 'pandas.core.frame.DataFrame'>

本文地址:https://blog.csdn.net/qq_39777550/article/details/107344088