ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pandas中loc,iloc函数的用法

2021-02-18 14:03:25  阅读:305  来源: 互联网

标签:loc ... College University college iloc Alabama Pandas


用loc,iloc,直接取值三种方法;对DataFrame,Series,行和列进行操作 

import pandas as pd
#读取college数据集
college = pd.read_csv('data/college.csv', index_col='INSTNM')

iloc通过行标签取数 索引值的下标

# 选取第61行
pd.options.display.max_rows = 6
college.iloc[60]
'''
CITY                  Anchorage
STABBR                       AK
HBCU                          0
                        ...    
UG25ABV                  0.4386
MD_EARN_WNE_P10           42500
GRAD_DEBT_MDN_SUPP      19449.5
Name: University of Alaska Anchorage, Length: 26, dtype: object
'''


# 选取多个不连续的行
college.iloc[[60, 99, 3]] #在series中取值62行,101行,5行
 CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
University of Alaska AnchorageAnchorageAK0.00.00.00NaNNaN0.012865.0...0.09800.01810.04570.453910.23850.26470.43864250019449.5
International Academy of Hair DesignTempeAZ0.00.00.00NaNNaN0.0188.0...0.01600.00000.06380.000000.71850.73460.39052220010556
University of Alabama in HuntsvilleHuntsvilleAL0.00.00.00595.0590.00.05451.0...0.01720.03320.03500.214610.30720.45960.26404550024097

3 rows × 26 columns

# iloc可以用切片连续选取 
college.iloc[99:102] #选取99行到101行,99,100,101
 CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
International Academy of Hair DesignTempeAZ0.00.00.00NaNNaN0.0188.0...0.01600.00000.06380.000000.71850.73460.39052220010556
GateWay Community CollegePhoenixAZ0.00.00.00NaNNaN0.05211.0...0.01270.01610.07020.746510.32700.21890.5832298007283
Mesa Community CollegeMesaAZ0.00.00.00NaNNaN0.019055.0...0.02050.02570.06820.645710.34230.22070.4010352008000

3 rows × 26 columns

 

loc通过行标签取数 索引值

# 也可以通过行标签选取
college.loc['University of Alaska Anchorage']
'''
CITY                  Anchorage
STABBR                       AK
HBCU                          0
MENONLY                       0
WOMENONLY                     0
                        ...    
PCTPELL                  0.2385
PCTFLOAN                 0.2647
UG25ABV                  0.4386
MD_EARN_WNE_P10           42500
GRAD_DEBT_MDN_SUPP      19449.5
Name: University of Alaska Anchorage, Length: 26, dtype: object
'''

用loc加列表来选取 

# 也可以用loc加列表来选取
labels = ['University of Alaska Anchorage','International Academy of Hair Design','University of Alabama in Huntsville']
college.loc[labels]
 CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
University of Alaska AnchorageAnchorageAK0.00.00.00NaNNaN0.012865.0...0.09800.01810.04570.453910.23850.26470.43864250019449.5
International Academy of Hair DesignTempeAZ0.00.00.00NaNNaN0.0188.0...0.01600.00000.06380.000000.71850.73460.39052220010556
University of Alabama in HuntsvilleHuntsvilleAL0.00.00.00595.0590.00.05451.0...0.01720.03320.03500.214610.30720.45960.26404550024097

3 rows × 26 columns

loc可以用标签连续选取start-stop

# loc可以用标签连续选取start-stop
start = 'Amridge University'
stop = 'Athens State University'
college.loc[start:stop]
 CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
Amridge UniversityMontgomeryAL0.00.00.01NaNNaN1.0291.0...0.00000.00000.27150.453610.68010.77950.85404010023370
University of Alabama in HuntsvilleHuntsvilleAL0.00.00.00595.0590.00.05451.0...0.01720.03320.03500.214610.30720.45960.26404550024097
Alabama State UniversityMontgomeryAL1.00.00.00425.0430.00.04811.0...0.00980.02430.01370.089210.73470.75540.12702660033118.5
The University of AlabamaTuscaloosaAL0.00.00.00555.0565.00.029851.0...0.02610.02680.00260.084410.20400.40100.08534190023750
Central Alabama Community CollegeAlexander CityAL0.00.00.00NaNNaN0.01592.0...0.00000.00000.00190.388210.58920.39770.31532750016127
Athens State UniversityAthensAL0.00.00.00NaNNaN0.02991.0...0.01740.00570.03340.551710.40880.62960.64103900018595

6 rows × 26 columns

index.tolist()提取行索引生成列表 

#index.tolist()提取行索引生成列表 在series中,多选取一行,代表,多添加一行的列名
college.iloc[[60, 49, 3]].index.tolist()#选了三行
['University of Alaska Anchorage',
 'Snead State Community College',
 'University of Alabama in Huntsville']

用iloc选取前3行和前4列 

# 读取college数据集,给行索引命名为INSTNM;选取前3行和前4列
college = pd.read_csv('data/college.csv', index_col='INSTNM')
college.iloc[:3, :4]
 
 CITYSTABBRHBCUMENONLY
INSTNM    
Alabama A & M UniversityNormalAL1.00.0
University of Alabama at BirminghamBirminghamAL0.00.0
Amridge UniversityMontgomeryAL0.00.0

用loc选取前3行和前4列

 

 CITYSTABBRHBCUMENONLY
INSTNM    
Alabama A & M UniversityNormalAL1.00.0
University of Alabama at BirminghamBirminghamAL0.00.0
Amridge UniversityMontgomeryAL0.00.0

选取两列的所有的行

college.iloc[:, [4,6]].head()
college.loc[:, ['WOMENONLY', 'SATVRMID']].head()

 

 WOMENONLYSATVRMID
INSTNM  
Alabama A & M University0.0424.0
University of Alabama at Birmingham0.0570.0
Amridge University0.0NaN
University of Alabama in Huntsville0.0595.0
Alabama State University0.0425.0

选取不连续的行和列

# 选取不连续的行和列
college.iloc[[100, 200], [7, 15]]

	                                  SATMTMID	UGDS_NHPI
INSTNM		
GateWay Community College	            NaN	     0.0029
American Baptist Seminary of the West	NaN	     NaN

 

不用loc,iloc行切片

 

#从行索引10到20,每隔一个取一行
# 读取college数据集;从行索引10到20,每隔一个取一行
college = pd.read_csv('data/college.csv', index_col='INSTNM')
college[10:20:2]
 CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
Birmingham Southern CollegeBirminghamAL0.00.00.01560.0560.00.01180.0...0.00510.00000.00510.001710.19200.48090.01524420027000
Concordia College AlabamaSelmaAL1.00.00.01420.0400.00.0322.0...0.00310.04660.00000.105610.86670.93330.236719900PrivacySuppressed
Enterprise State Community CollegeEnterpriseAL0.00.00.00NaNNaN0.01729.0...0.02540.00120.00690.382310.48950.22630.3399246008273
Faulkner UniversityMontgomeryAL0.00.00.01NaNNaN0.02367.0...0.01730.01820.02580.230210.58120.72530.45893720022000
New Beginning College of CosmetologyAlbertvilleAL0.00.00.00NaNNaN0.0115.0...0.00000.00000.00000.078310.82240.85530.3933NaN5500

5 rows × 26 columns

Series切片求10到19之间,每隔2个间隔的值

# Series也可以进行同样的切片
city = college['CITY']
city[10:20:2]
'''
INSTNM
Birmingham Southern College              Birmingham
Concordia College Alabama                     Selma
Enterprise State Community College       Enterprise
Faulkner University                      Montgomery
New Beginning College of Cosmetology    Albertville
Name: CITY, dtype: object
'''

查看第4002个行索引标签

# 查看第4002个行索引标签
college.index[4001]
#'Spokane Community College'

对DataFrame用标签切片

# Series和DataFrame都可以用标签进行切片。下面是对DataFrame用标签切片
start = 'Mesa Community College'
stop = 'Spokane Community College'
college[start:stop:1500]
CITYSTABBRHBCUMENONLYWOMENONLYRELAFFILSATVRMIDSATMTMIDDISTANCEONLYUGDS...UGDS_2MORUGDS_NRAUGDS_UNKNPPTUG_EFCURROPERPCTPELLPCTFLOANUG25ABVMD_EARN_WNE_P10GRAD_DEBT_MDN_SUPP
INSTNM                     
Mesa Community CollegeMesaAZ0.00.00.00NaNNaN0.019055.0...0.02050.02570.06820.645710.34230.22070.4010352008000
Hair Academy Inc-New CarrolltonNew CarrolltonMD0.00.00.00NaNNaN0.0504.0...0.00000.00000.00000.468310.97561.00000.5882152009666
National College of Natural MedicinePortlandOR0.00.00.00NaNNaN0.0NaN...NaNNaNNaNNaN1NaNNaNNaNNaNPrivacySuppressed

3 rows × 26 columns

对Series用标签切片

# 下面是对Series用标签切片
city[start:stop:1500]
’‘’
INSTNM
Mesa Community College                            Mesa
Hair Academy Inc-New Carrollton         New Carrollton
National College of Natural Medicine          Portland
Name: CITY, dtype: object
‘’‘

直接切片不能用于列,只能用于DataFrame的行和Series,也不能同时选取行和列。

# 下面尝试选取两列,导致错误
# college[:10, ['CITY', 'STABBR']]
# TypeError: '(slice(None, 10, None), ['CITY', 'STABBR'])' is an invalid key
# 只能用.loc和.iloc选取
first_ten_instnm = college.index[:10]
college.loc[first_ten_instnm, ['CITY', 'STABBR']]
 CITYSTABBR
INSTNM  
A & W Healthcare EducatorsNew OrleansLA
A T Still University of Health SciencesKirksvilleMO
ABC Beauty AcademyGarlandTX
ABC Beauty College IncArkadelphiaAR
AI Miami International University of Art and DesignMiamiFL

 

标签:loc,...,College,University,college,iloc,Alabama,Pandas
来源: https://blog.csdn.net/weixin_48135624/article/details/113845102

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有