pandas.dataFrame.loc 와.iloc 용법 상세 설명
27319 단어 python
목차
주의 하 다.
.loc[]또는.iloc[]를 통 해 데 이 터 를 얻 을 때 주의해 야 할 것 은
[[ ]]
반환 값 은 DataFrame
이 고 []
반환 값 은 pandas.core.series.Series
입 니 다.①pandas.DataFrame.loc
.loc[]줄 이나 열의 탭 이나 boolean 배열 을 통 해 DataFrame 의 줄 과 열 을 방문 하 는 데 사 용 됩 니 다.(값 을 얻 을 수 있 고 값 을 바 꿀 수 있다)구체 적 인 사용 방법 은 아래 에서 코드 를 통 해 이해 할 수 있다.
먼저 데이터 만 들 기(df)
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
... index=['cobra', 'viper', 'sidewinder'],
... columns=['max_speed', 'shield'])
>>> df
max_speed shield
cobra 1 2
viper 4 5
sidewinder 7 8
데이터 가 져 오기
>>> df.loc[['viper', 'sidewinder']]
max_speed shield
viper 4 5
sidewinder 7 8
numpy.int64
)>>> df.loc['cobra', 'shield']
2
>>> df.loc['cobra':'viper', 'max_speed']
cobra 1
viper 4
Name: max_speed, dtype: int64
주의 하 다.
이 곳 의 절편 은 일반적인 python 절편 과 달리 시작 과 끝 을 포함 합 니 다.
>>> df.loc[[False, False, True]]
max_speed shield
sidewinder 7 8
>>> df.loc[df['shield'] > 6]
max_speed shield
sidewinder 7 8
lambda
키 워드 를 이용 할 수 있 습 니 다 >>> df.loc[lambda df: df['shield'] == 8]
max_speed shield
sidewinder 7 8
데이터 업데이트
>>> df.loc['cobra'] = 10
>>> df
max_speed shield
cobra 10 10
viper 4 50
sidewinder 7 50
>>> df.loc[:, 'max_speed'] = 30
>>> df
max_speed shield
cobra 30 10
viper 30 50
sidewinder 30 50
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> df
max_speed shield
cobra 1 2
viper 4 50
sidewinder 7 50
진급 강좌(다 중 탭)
다 중 탭 DataFrame 만 들 기
>>> tuples = [
... ('cobra', 'mark i'), ('cobra', 'mark ... ii'),
... ('sidewinder', 'mark i'), ('sidewinder', 'mark ii'),
... ('viper', 'mark ii'), ('viper', 'mark iii')
... ]
>>> index = pd.MultiIndex.from_tuples(tuples)
>>> values = [[12, 2], [0, 4], [10, 20],
... [1, 4], [7, 1], [16, 36]]
>>> df = pd.DataFrame(values, columns=['max_speed', 'shield'], index=index)
>>> df
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
mark iii 16 36
>>> df.loc['cobra']
max_speed shield
mark i 12 2
mark ii 0 4
>>> df.loc[('cobra', 'mark ii')]
max_speed 0
shield 4
Name: (cobra, mark ii), dtype: int64
>>> df.loc[('cobra', 'mark i'):'viper']
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
mark iii 16 36
>>> df.loc[('cobra', 'mark i'):('viper', 'mark ii')]
max_speed shield
cobra mark i 12 2
mark ii 0 4
sidewinder mark i 10 20
mark ii 1 4
viper mark ii 7 1
②pandas.DataFrame.iloc
.iloc[]는 줄 이나 열의 색인(색인 0 에서 len-1)이나 boolean 배열 을 통 해 DataFrame 의 줄 과 열 을 방문 하 는 데 사 용 됩 니 다.구체 적 인 사용 방법 은 아래 에서 코드 를 통 해 이해 합 니 다.
데이터 만 들 기(df)
>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
... {'a': 100, 'b': 200, 'c': 300, 'd': 400},
... {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
>>> df = pd.DataFrame(mydict)
>>> df
a b c d
0 1 2 3 4
1 100 200 300 400
2 1000 2000 3000 4000
데이터 가 져 오기
>>> df.iloc[0]
a 1
b 2
c 3
d 4
Name: 0, dtype: int64
>>> df.iloc[:3]
a b c d
0 1 2 3 4
1 100 200 300 400
2 1000 2000 3000 4000
>>> df.iloc[[True, False, True]]
a b c d
0 1 2 3 4
2 1000 2000 3000 4000
>>> df.iloc[0, 1]
2
>>> df.iloc[[0, 2], [1, 3]]
b d
0 2 4
2 2000 4000
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.