pandas.dataFrame.loc 와.iloc 용법 상세 설명

27319 단어 python
.loc[]와.iloc[]용법 상세 설명
목차
  •   pandas.DataFrame.loc
  •   pandas.DataFrame.iloc

  • 주의 하 다.
    .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
    

    데이터 가 져 오기
  • 줄 태그 에 따라 DataFrame
  • 가 져 오기
    >>> 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 절편 과 달리 시작 과 끝 을 포함 합 니 다.
  • boolean 배열 에 따라 줄 가 져 오기(True 는 줄 가 져 오기,False 는 가 져 오지 않 음)
  • >>> df.loc[[False, False, True]]
                max_speed  shield
    sidewinder          7       8
    
  • 또는 반환 값 이 boolean 인 문 구 를 매개 변수
  • 으로 사용 합 니 다.
    >>> 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 의 줄 과 열 을 방문 하 는 데 사 용 됩 니 다.구체 적 인 사용 방법 은 아래 에서 코드 를 통 해 이해 합 니 다.
  • 데이터 획득
  • 업데이트 데이터(.loc[]와 비슷 하고 더 이상 군말 하지 않 음)
  • 밤 을 들다
    데이터 만 들 기(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
    
  • boolean 배열 에 따라
  • 가 져 오기
    >>> 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
    

    좋은 웹페이지 즐겨찾기