판다를 이용한 멸종 위기 언어의 데이터 분석

International Mother Language Day (2월 21일) 행사에서 저는 World Language Family Map datasetpandas 이라는 두 가지 인기 있는 Python 라이브러리를 사용하여 matplotlib 을 탐색 분석했습니다. 이 게시물에서는 데이터를 분석하고 시각화하는 방법과 데이터가 전 세계 언어에 대해 무엇을 나타내는지 보여드리겠습니다.

설정



탐색 분석의 첫 번째 단계는 데이터를 읽고 기능에 대한 개요를 얻는 것입니다. 얼마나 많은 행과 열이 포함되어 있고 열 이름은 무엇입니까?

import pandas as pd
df = pd.read_csv('languoid.csv')
df.head(10)
df.shape
list(df.columns)


데이터 세트에는 23243개의 관찰과 18개의 언어 기능이 포함되어 있습니다. 이 프로젝트의 경우 레벨, 이름 및 상태의 세 가지 기능에만 관심이 있습니다. 작업을 더 쉽게 하기 위해 이 세 가지 기능만 선택하고 하위 집합 데이터로 새 데이터 프레임을 만듭니다.

lns_df = df[['level', 'name', 'status']]


탐색적 분석



개요


lns_df 에서 선택한 기능에 대한 개요로 탐색적 분석을 시작하므로 각 기능에 고유한 값이 몇 개인지 확인하고 싶습니다.

lns_df['level'].unique()


수준은 세 가지 수준이 있는 범주형 변수입니다.

  • 방언: 특정 지역이나 사회 집단에 특유한 언어의 특정 형태.

  • 가족: 공통 조상 언어 또는 부모 언어의 후손을 통해 관련된 언어 그룹.

  • 언어: 지역에서 사용되는 공용어.

  • lns_df['status'].unique()
    


    상태는 6개 수준의 범주형 변수입니다. 이는 활력/위험의 6단계를 설정하는 유네스코의 언어 활력 및 위험 프레임워크를 기반으로 합니다. 가장 안전한 것부터 멸종된 것까지 다음과 같습니다.

  • 안전함: 모든 세대가 언어를 사용합니다. 세대 간 전송이 중단되지 않습니다.

  • 취약성: 대부분의 아동이 해당 언어를 구사하지만 특정 영역(예: 가정)으로 제한될 수 있습니다.

  • 확실히 멸종 위기에 처해 있습니다. 아이들은 더 이상 가정에서 언어를 모국어로 배우지 않습니다.

  • 심각하게 멸종 위기에 처한: 언어는 조부모와 이전 세대가 사용합니다. 부모 세대가 그것을 이해할 수는 있지만 자녀에게 또는 그들끼리는 말하지 않습니다.

  • 비판적으로 멸종 위기에 처한: 가장 어린 사용자는 조부모 이상이며 언어를 부분적으로 그리고 드물게 사용합니다.

  • 멸종: 남은 스피커가 없습니다.

  • 언어 수준



    다음으로, 더 구체적으로 데이터 세트에 얼마나 많은 어족, 언어 및 방언이 있는지 확인하고 싶습니다.

    lang_sum = pd.value_counts(df['level'].values, sort=False)
    


    8444개의 어족, 4268개의 언어, 10531개의 방언이 있습니다. 어족에는 여러 언어가 포함되어 있고 그 언어에는 서로 다른 방언이 있기 때문에 언어와 어족보다 방언이 훨씬 더 많다는 것은 이치에 맞습니다. 이러한 수치를 시각화하여 원근감 있게 파악하는 것이 더 쉽습니다.

    import matplotlib.pyplot as plt
    %matplotlib inline
    lang_sum.plot(kind='bar')
    




    언어 상태



    이제 각 상태의 총 언어 수를 살펴보겠습니다.

    status_sum = pd.value_counts(lns_df['status'], sort=True)
    status_sum.plot(kind='pie')
    


    데이터 세트에 있는 언어의 80% 이상이 안전하며 멸종 위기에 처한 언어에 대한 데이터의 14%는 분석해야 합니다. 이 중 대부분은 멸종되었으며 극소수만이 멸종 위기에 처해 있습니다. 이제 상태별로 각 레벨의 언어 요약표를 가져옵니다.

    level_status = pd.crosstab(df.level, df.status)
    level_status.plot(kind='bar', stacked=True)
    




    멸종 위기에 처한 언어



    언어 상태와 수준 상황에 대한 개요를 얻은 후 각 그룹에 어떤 특정 언어가 있는지 확인하고 싶습니다. 구체적으로 어떤 어족이 멸종되었는지 궁금했습니다.

    ext_fam = df[(df.level == 'family') & (df.status == 'extinct')]
    ext_fam_names = ext_fam[['name']]
    


    Chimakuan, Djiwarli-Thiin 및 Garrwan의 세 가지 멸종 언어 가족이 있습니다.

    다음 단계



    이 탐색적 분석은 시작점일 뿐이며 이 데이터 세트에서 탐색할 수 있는 다른 많은 질문이 있습니다. 예를 들어 심각하게 멸종 위기에 처한 방언, 멸종 위기에 처한 언어의 지리적 분포를 찾거나 pandas 및 matplotlib 이외의 다른 라이브러리를 사용하여 데이터를 분석하고 시각화할 수 있습니다. 내Jupyter notebook를 보고 데이터를 가지고 놀아보세요!

    좋은 웹페이지 즐겨찾기