ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] Pandas
    IT 일반 2023. 7. 4. 22:17
    반응형

    출처 : https://chatgptai.mobi 

     

    ChatGPTAI

    ChatGPTAI: The Future of Conversational AI

    chatgptai.mobi

    팬더 소개

    Pandas 는 고성능의 사용하기 쉬운 데이터 구조  데이터 분석 도구를 제공하는 Python 라이브러리 입니다 . 데이터 과학자 및 분석가가 데이터 정리 , 조작 및 분석을 위해 널리 사용합니다 .

     

    시리즈 및 DataFrame

    pandas의 두 가지 주요 데이터 구조는 Series와 DataFrame입니다. Series는 데이터의 1차원 배열인 반면 DataFrame은 데이터의 2차원 배열입니다. Series 및 DataFrames 모두 인덱싱 및 슬라이스할 수 있으며 다양한 방법을 사용하여 조작할 수 있습니다.

     

    데이터프레임 생성

    DataFrame은 목록, 사전 또는 CSV 파일과 같은 다양한 소스에서 만들 수 있습니다. 예를 들어 다음 코드는 목록에서 DataFrame을 만듭니다.

    import pandas as pd
    
    data = [1, 2, 3, 4, 5]
    df = pd.DataFrame(data)
    
    print(df)

    이 코드는 다음 DataFrame을 인쇄합니다.

      0
    0  1
    1  2
    2  3
    3  4
    4  5

    외부 파일 로드

    DataFrame은 CSV 파일과 같은 외부 파일에서도 로드할 수 있습니다. 예를 들어 다음 코드는 "data.csv"라는 CSV 파일에서 DataFrame을 로드합니다.

    df = pd.read_csv("data.csv")
    
    print(df)

    이 코드는 "data.csv" 파일에 저장된 DataFrame을 인쇄합니다.

     

    DataFrame 기초 배우기

    DataFrame을 만든 후에는 데이터 탐색을 시작할 수 있습니다.  메서드 를 사용하여 각각 DataFrame의 첫 번째 행과 마지막 몇 행을 볼 수 있습니다. 이 메서드를 사용하여 행 및 열 수, 열의 데이터 유형 및 누락된 값 과 같은 DataFrame에 대한 정보를 얻을 수도 있습니다.head()tail()info()

     

    DataFrame 인덱싱 및 정렬

    행 또는 열 이름을 사용하여 DataFrame을 인덱싱할 수 있습니다. 예를 들어 다음 코드는 DataFrame의 두 번째 행과 세 번째 열에 값을 인쇄합니다.

    df["column_name"][1]

    행 또는 열을 기준으로 DataFrame을 정렬할 수도 있습니다. 예를 들어 다음 코드는 해당 column_name열을 기준으로 데이터 프레임을 오름차순으로 정렬합니다.

    df = df.sort_values(by="column_name")

    DataFrame 행과 열 추가 및 삭제

    append()및 메소드 를 사용하여 DataFrame에서 행과 열을 추가하고 삭제할 수 있습니다 drop(). 예를 들어 다음 코드는 DataFrame에 새 행을 추가합니다.

    df = df.append({"column_name": "new_value"}, ignore_index=True)

    다음 코드는 DataFrame에서 세 번째 열을 삭제합니다.

    df = df.drop("column_name", axis=1)

    DataFrame 누락 값 감지 및 처리

    DataFrame에서 누락된 값은 로 표시됩니다 NaN. isnull()및 메서드를 사용하여 notnull()DataFrame에서 누락된 값을 확인할 수 있습니다. column_name예를 들어 다음 코드는 DataFrame 열에 누락된 값이 있는지 확인합니다 .

    df["column_name"].isnull().values.any()

    메서드를 사용하여 DataFrame에서 누락된 값을 채울 수도 있습니다 fillna(). 예를 들어 다음 코드는 열의 누락된 값을 다음 column_name값으로 채웁니다 0.

    df["column_name"].fillna(0, inplace=True)

    DataFrame 통계 처리

    평균, 표준 편차, 최소값 및 최대값과 같은 DataFrame에 대한 다양한 통계를 계산할 수 있습니다. 예를 들어 다음 코드는 column_nameDataFrame 열에 있는 값의 평균을 계산합니다.

    df["column_name"].mean()

    DataFrame을 하나 이상의 열로 그룹화하고 각 그룹에 대한 통계를 계산할 수도 있습니다. 예를 들어 다음 코드는 DataFrame을 열별로 그룹화 하고 각 그룹에 대한 열 column_name값의 평균을 계산합니다 .column_name

    df = df.groupby("column_name")["column_name"].mean()

    데이터 분석을 위한 Pandas

    Pandas는 데이터 분석을 위한 강력한 Python 라이브러리입니다. 데이터 로드, 정리, 변환 및 분석을 위한 다양한 도구를 제공합니다. Pandas는 사용하기 쉽고 효율적이며 확장 가능하기 때문에 데이터 과학자와 분석가에게 인기 있는 선택입니다 .

     

    다음은 데이터 분석을 위한 가장 일반적인 pandas DataFrame 작업 중 일부입니다.

    • 데이터 프레임 그룹화: 이 작업을 통해 데이터 프레임을 하나 이상의 열로 그룹화한 다음 그룹에서 집계 작업을 수행할 수 있습니다. 예를 들어 DataFrame을 성별로 그룹화한 다음 각 성별의 평균 급여를 계산할 수 있습니다.
    • DataFrame 중복 제거: 이 작업을 통해 DataFrame에서 중복 행을 제거할 수 있습니다. 이는 중복 데이터를 제거하거나 DataFrame을 단순화하려는 경우에 유용할 수 있습니다.
    • DataFrame value_counts: 이 함수는 각 값이 DataFrame 열에 나타나는 횟수를 반환합니다. 이는 열에서 가장 일반적인 값을 빠르게 식별하는 데 유용할 수 있습니다.
    • DataFrame 결합: 이 작업을 통해 두 개 이상의 DataFrame을 단일 DataFrame으로 결합할 수 있습니다. 이는 서로 다른 소스의 데이터를 병합하거나 어떤 식으로든 관련된 데이터를 결합하는 데 유용할 수 있습니다.
    • DataFrame 순위 지정: 이 작업을 사용하면 지정된 열을 기준으로 DataFrame의 행 순위를 지정할 수 있습니다. 이는 데이터 세트에서 최고 또는 최저 성과를 식별하는 데 유용할 수 있습니다.
    • DataFrame 날짜 유형 사용: Pandas DataFrames는 날짜 또는 날짜/시간 유형으로 데이터를 저장할 수 있습니다. 이렇게 하면 날짜별로 행을 필터링하거나 두 날짜 간의 차이를 계산하는 등 데이터에 대한 날짜 관련 작업을 수행할 수 있습니다.
    • dtypes: 이 함수는 DataFrame에 있는 각 열의 데이터 유형을 반환합니다. 이는 DataFrame에 저장된 데이터 유형을 이해하고 데이터 유형과 호환되는 작업을 수행하는 데 유용할 수 있습니다.
    • DataFrame 적용: 이 기능을 사용하면 DataFrame의 각 행 또는 열에 기능을 적용할 수 있습니다. 이는 데이터에 대한 사용자 지정 계산을 수행하는 데 유용할 수 있습니다.
    • DataFrame 맵: 이 기능을 사용하면 DataFrame 열의 값을 새 값으로 바꿀 수 있습니다. 이는 데이터를 정리하거나 데이터를 다른 형식으로 변환하는 데 유용할 수 있습니다.
    • DataFrame 산술: Pandas DataFrames는 더하기, 빼기, 곱하기 및 나누기와 같은 다양한 산술 연산을 지원합니다. 이를 통해 데이터에 대한 계산을 수행하고 기존 DataFrame에서 새 DataFrame을 만들 수 있습니다.
    • 원 핫 인코딩: 원 핫 인코딩은 범주형 데이터를 기계 학습 알고리즘 에서 사용할 수 있는 숫자 형식으로 변환하는 기술입니다 . Pandas는 원 핫 인코딩을 수행하기 위한 다양한 기능을 제공합니다 .

    이는 데이터 분석을 위한 가장 일반적인 pandas DataFrame 작업 중 일부에 불과합니다. 자세한 내용은 pandas 문서( https://pandas.pydata.org/ )를 참조하세요.

    다음은 위에서 언급한 pandas DataFrame 작업 중 일부를 보여주는 샘플 코드입니다.

    import pandas as pd
    
    # Create a DataFrame
    df = pd.DataFrame({
        "name": ["John Doe", "Jane Doe", "John Smith", "Jane Smith"],
        "age": [30, 25, 40, 35],
        "gender": ["male", "female", "male", "female"]
    })
    
    # Group the DataFrame by gender
    grouped_df = df.groupby("gender")
    
    # Calculate the average salary for each gender
    average_salary_by_gender = grouped_df["salary"].mean()
    
    # Remove duplicate rows from the DataFrame
    df = df.drop_duplicates()
    
    # Count the number of times each value appears in the "gender" column
    gender_value_counts = df["gender"].value_counts()
    
    # Combine two DataFrames
    df_1 = pd.DataFrame({
        "name": ["John Doe", "Jane Doe", "John Smith", "Jane Smith"],
        "age": [30, 25, 40, 35]
    })
    
    df_2 = pd.DataFrame({
        "name": ["John Doe", "Jane Doe", "Michael Smith"],
        "salary": [50000, 60000, 70000]
    })
    
    df = df_1.merge(df_2, on="name")
    
    # Rank the DataFrame by salary
    df = df.sort_values("salary", ascending=False)
    
    # Get the date type of the "date_of_birth" column
    date_of_birth_dtype = df

    다음은 Pandas를 사용하는 Python의 핫 인코딩에 대한 샘플 코드입니다.

    import pandas as pd
    
    # Create a DataFrame
    df = pd.DataFrame({
        "country": ["USA", "Canada", "Mexico", "Brazil", "Argentina"],
        "population": [330000000, 38000000, 128000000, 212000000, 44000000]
    })
    
    # One hot encode the country column
    df = pd.get_dummies(df, columns=["country"])
    
    # Print the DataFrame
    print(df)

    country이 코드는 먼저 및 이라는 두 개의 열이 있는 DataFrame을 만듭니다 population. 열에 country는 5개 국가의 이름이 포함되고 population열에는 각 국가의 인구가 포함됩니다.

     

    다음 코드 줄은 get_dummies()함수를 사용하여 열을 하나의 핫 인코딩합니다 country. 이는 열이 열의 각 고유  country에 대해 새 열로 변환됨을 의미합니다 . 예를 들어 열의 원래 값은 "USA", "Canada", "Mexico", "Brazil" 및 "Argentina"입니다. 한 번의 핫 인코딩 후 DataFrame에는 , , , 및 의 5개의 새로운 열이 있습니다 . 이러한 새 열 각각은 해당 국가가 원래 열에 있는 경우 값 1을 포함 하고 그렇지 않은 경우 값 0을 포함합니다.

     

    코드의 마지막 줄은 DataFrame을 콘솔에 출력합니다. 코드의 출력  6개의 열이 있는 DataFrame population이고 열을 핫 인코딩하는 하나에 의해 생성된 5개의 새 열입니다 country.

    다음은 코드 출력의 예입니다.

       population  country_Argentina  country_Brazil  ...  country_Mexico  country_USA
    0   330000000                  0              0  ...               0            1
    1    38000000                  0              0  ...               0            0
    2   128000000                  1              0  ...               1            0
    3   212000000                  0              1  ...               0            0
    4    44000000                  1              0  ...               0            0

     

    반응형
Designed by Tistory.