pandas 중.loc와.iloc 그리고.at와.iat의 차이점 설명

2061 단어 pandaslocilocatiat

색인 및 암시적 색인 표시


import pandas as pd
df = pd.DataFrame({' ':[' ',' ',' '],' ':[85,59,76]})
사칭':'를 입력하면 모든 행이나 열을 나타냅니다.
색인 보이기:.loc, 첫 번째 매개 변수는 index 슬라이스, 두 번째는columns 열 이름

df.loc[2] #index 2 , 。
df.loc[:,' '] # , , 。
암시적 인덱스:.iloc(integer_location), 정수만 전송할 수 있습니다.

df.iloc[:2,:] # , , 。
df.iloc[:,' '] # , , 。
at를 사용하여 어떤 요소에 위치를 정할 수 있습니다
문법 규칙:df.at[index,columns]

df.at[1,' '] # , 
df.iat[1,1] # iloc 
추가:pandas는 특정한 열에 존재하는 모든 줄을 신속하게 포지셔닝합니다.loc,at,== 대비
다음과 같습니다.

goodDiskName2016

from datetime import datetime
from time import time

직사각형 괄호 위치가 같은 열


start = time()
for disk in goodDiskName2016[:100]:
   ____ST4000DM000_2016_good_feature27[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start
소모 시간

82.93997383117676

직접 loc 포지셔닝 동일


start = time()
for disk in goodDiskName2016[:100]:  ____ST4000DM000_2016_good_feature27.loc[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start
소모 시간:

82.4887466430664

이 열을 index로 설정한 다음 loc를 통해 찾습니다


b = ST4000DM000_2016_good_feature27.set_index('serial_number')

start = time()
for disk in goodDiskName2016[:100]:
 b.loc[disk][features27[0]]
time()-start
소모 시간:

25.706212759017944

index로 설정한 후at로 위치 추적


start = time()
for disk in goodDiskName2016[:100]:
 b.at[disk,features27[0]]
time()-start
소모 시간:

25.67607021331787
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.만약 잘못이 있거나 완전한 부분을 고려하지 않으신다면 아낌없이 가르침을 주시기 바랍니다.

좋은 웹페이지 즐겨찾기