판다 입문-제3과

8325 단어 datascience

소개하다.


우리는 판다 데이터 과학 교육 시리즈의 세 번째 문장부터 시작한다.이 문서에서는 Pandas에서 반복, 매핑, 그룹화 및 정렬을 수행하는 데 사용되는 다양한 기능을 요약합니다.이 함수들은 우리가 데이터를 변환하여 유용한 정보와 견해를 제공할 수 있도록 한다.

반복, 매핑, 그룹화 및 정렬


코르테즈 등이 UCI 머신러닝에서 제작한 2009년 데이터세트Wine Quality Dataset는 와인의 품질 정보를 담은 유명 데이터세트다.그것은 붉은 포도주와 흰 포도주의 물리 화학적 성질과 질량 점수를 포함한다.
시작하기 전에, 우리는 우리의 설교 데이터 집합의 머리를 가시화하고, 판다 머리 함수를 사용하는 예시를 보여줄 것이다.

번갈아


우리는 데이터 집합과 관련된 함수부터 시작한다.우리가 한 줄 한 줄 교체를 원할 때, 우리는 이 함수를 사용하려고 할 수도 있다.
대상의 기본적인 교체 행위는 유형에 달려 있다.서열이 교체될 때, 그것은 수조와 유사하게 여겨지고, 기본적으로 교체되어 값을 생성한다.DataFrame과 Panel 같은 다른 데이터 구조는 dict와 유사한 관례에 따라 대상의 키를 교체합니다.
만약 우리가 데이터 프레임을 교체한다면, 열 이름을 얻을 수 있을 것이다.
for element in df:
    print(element)

fixed acidity           
volatile acidity       
citric acid              
residual sugar       
chlorides               
free sulfur dioxide     
total sulfur dioxide    
density    
pH           
sulphates
alcohol
quality
데이터 프레임의 행을 반복하기 위해 다음 함수를 사용할 수 있습니다.

항목


dict와 유사한 인터페이스와 일치하며 items () 와 iteritems () 는 키 값을 통해 교체됩니다.
  • 시리즈: (인덱스, 스칼라 값) 쌍
  • 데이터 프레임: (열, 시리즈) 쌍
  • for key, value in wines.items():
        print(key)
        print(value)
    
    
        fixed acidity
    0 7.4
    1 7.8
    2 7.8
    3 11.2
    4 7.4
            ... 
    1594 6.2
    1595 5.9
    1596 6.3
    1597 5.9
    1598 6.0
    Name: fixed acidity, Length: 1599, dtype: float64
    volatile acidity
    0 0.700
    1 0.880
    2 0.760
    3 0.280
    4 0.700
            ...
    

    이트로스


    이것은 시퀀스 대상의 형식으로 데이터 프레임의 줄을 옮겨다닐 수 있도록 합니다.각 인덱스 값과 각 행의 데이터를 포함하는 시퀀스를 생성하는 반복자를 반환합니다.
    for row_index, row in wines.iterrows():
        print(row_index, row, sep="\n")
    
        0
    fixed acidity 7.4000
    volatile acidity 0.7000
    citric acid 0.0000
    residual sugar 1.9000
    chlorides 0.0760
    free sulfur dioxide 11.0000
    total sulfur dioxide 34.0000
    density 0.9978
    pH 3.5100
    sulphates 0.5600
    alcohol 9.4000
    quality 5.0000
    Name: 0, dtype: float64
    1
    fixed acidity 7.8000
    volatile acidity 0.8800
    citric acid 0.0000
    residual sugar 2.6000
    chlorides 0.0980
    free sulfur dioxide 25.0000
    total sulfur dioxide 67.0000
    density 0.9968
    pH 3.2000
    sulphates 0.6800
    alcohol 9.8000
    quality 5.0000
    Name: 1, dtype: float64
    2
    fixed acidity 7.800
    volatile acidity 0.760
    citric acid 0.040
    residual sugar 2.300
    ...
    

    Itertuples


    itertuples () 방법은 DataFrame의 줄마다namedtuple을 생성하는 교체기를 되돌려줍니다.원조의 첫 번째 요소는 줄의 상응하는 인덱스 값이고 나머지 값은 줄 값이다.
    for row in wines.itertuples():
        print(row)    
    
    Pandas(Index=0, _1=7.4, _2=0.7, _3=0.0, _4=1.9, chlorides=0.076, _6=11.0, _7=34.0, density=0.9978, pH=3.51, sulphates=0.56, alcohol=9.4, quality=5)
    Pandas(Index=1, _1=7.8, _2=0.88, _3=0.0, _4=2.6, chlorides=0.098, _6=25.0, _7=67.0, density=0.9968, pH=3.2, sulphates=0.68, alcohol=9.8, quality=5)
    ...
    

    결론


    Pandas 라이브러리는 주어진 데이터 세트의 교체를 비교적 쉽게 하는 3가지 다른 함수를 제공합니다.그들은 다음과 같습니다.
    iteritems (): Pandas 라이브러리의 이 함수는 사용자가 열에 따라 모든 요소를 교체할 수 있도록 도와줍니다.만약 우리가 한 줄 한 줄 어떤 내용을 찾으려고 한다면, 이 함수는 매우 유용할 것이다.이렇게 하면 당신은 모든 열을 두루 돌아다닐 필요가 없습니다.
    iterrows (): Pandas 라이브러리의 이 함수는 사용자가 한 줄씩 집합의 모든 요소를 교체하는 데 도움을 줍니다.만약 우리가 한 줄 한 줄 전체 줄을 교체하려고 한다면, 이 함수는 매우 유용할 것이다. 그러면 우리는 특정한 줄 값을 검색할 수 있고, 전체 데이터 집합을 교체할 필요가 없을 것이다.
    itertuple ():Pandas 라이브러리의 이 함수는 사용자가 데이터가 집중된 줄마다 교체하고 주어진 데이터에서 하나의 원조를 형성하도록 도와줍니다.한 줄씩 한 줄을 교체해야 하지만, 출력이 모듈 형식이어야 할 때, 이 함수는 매우 유용할 것이다.

    지도.


    우리는 서열이나 데이터 집합을 비추기 위해 두 가지 가장 중요한 함수를 계속 사용한다.

    지도.


    함수는 사전/함수/시퀀스를 사용하여 시퀀스 객체의 각 값을 다른 값에 매핑하는 데 사용됩니다.시퀀스 값을 한 필드에서 다른 필드로 비추는 것은 편리한 함수입니다. 왜냐하면 데이터가 주어진 열의 모든 줄을 집중적으로 변환할 수 있기 때문입니다.
    예를 들어, 우리는 함수를 실행하여 density열에서 얻은 서열을 변환할 수 있으며, 이 함수는 그 값을 곱한다​​100까지.
    data['density'].map(lambda x: x * 100)    
    
    0 99.780
    1 99.680
    2 99.700
    3 99.800
    4 99.780
             ...  
    1594 99.490
    1595 99.512
    1596 99.574
    1597 99.547
    1598 99.549
    Name: density, Length: 1599, dtype: float64...
    

    신청하다.


    apply() 방법을 사용하여 설명적 통계 방법과 마찬가지로 선택적 축 매개변수를 사용하여 데이터 프레임의 축을 따라 함수를 적용할 수 있습니다.
    예를 들어 우리는 이 값들을 회복할 수 있다​​함수를 실행하여 density열의 값을​​100까지 데이터 프레임에서 서열을 추출할 필요가 없습니다. 왜냐하면 맵스 함수는 데이터 프레임에 사용할 수 있기 때문입니다.
    def divide_by_100(x):
        x.density = x.density / 100
        return x
    
    data.apply(divide_by_100, axis='columns')
    

    조를 나누다


    그룹의 추상적인 정의는 그룹 이름에 탭을 표시하는 것입니다.GroupBy 객체 grouping byquality를 작성하려면 다음과 같이 하십시오.
    wines.groupby(["quality"]).quality.count()
    
    quality
    3 10
    4 53
    5 681
    6 638
    7 199
    8 18
    Name: quality, dtype: int64
    
    GroupBy 대상을 만들고 사용자 정의 함수를 적용할 수 있습니다. 예를 들어, 이 예에서는 qualityalcohol 에 따라 그룹을 나누고, 각 대상에서 최고 밀도를 얻을 수 있습니다.
    wines.groupby(['quality', 'alcohol']).apply(lambda df: df.loc[df.density.idxmax()])
    

    마지막으로 그룹 부분에서 데이터 분석에서 가장 유용한 함수 중 하나는 집합 함수이다.
    이런 상황에서 우리는 quality에 따라 조를 나누고 각 조의 최대치와 최소치alcohol를 얻을 것이다.
    wines.groupby(['quality']).alcohol.agg([min, max])
    

    분류하다


    이 예에서는 Pandas의 모든 정렬 기능을 다른 데이터 세트로 명확하게 설명합니다.이를 위해 우리는 먼저 우리가 처리할 예시 데이터 집합을 관찰할 것이다. 이를 unsorted_df라고 부른다.
  • 색인으로 정렬
  • unsorted_df.sort_index()
    
  • 색인 내림차순 정렬
  • unsorted_df.sort_index(ascending=False)
    
  • 열별 정렬
  • unsorted_df.sort_index(axis=1)
    
  • 값별 정렬
  • unsorted_df.sort_values(by="two")
    

    너의 능력을 훈련시키다


    데이터 과학 분야의 기능을 한층 더 향상시키고 싶다면, 저희는 하나의 과정을 만들었습니다. 당신은 무료로 다운로드할 수 있습니다. here
    다음 장에서 우리는 데이터가 부족한 함수를 처리하는 데 쓰이는 함수를 깊이 있게 연구할 것이다.

    좋은 웹페이지 즐겨찾기