Pandas DataFrame

2022. 3. 18. 22:34AI/Big data

    목차
반응형

DataFrame

2차원의 data structure임


pd.DataFrame([1, 2, 3, 4, 5])

여러 column에 row들을 넣고자 할때 사용

pd.DataFrame({'math': [1, 2, 3, 4, 5], 'eng': [6, 7, 8, 9, 10]})
       math  kor  <- column
    0    91   88  <- data
    1    93   88
    2    91   90
    3    88   95
    4    90   86
    5    92   99
fr = pd.DataFrame({'math': [91, 93, 91, 88, 90, 92], 'kor':[88, 88, 90, 95, 86, 99]}, index=list('ABCDEF'))
       math  kor
    A    91   88
    B    93   88
    C    91   90
    D    88   95
    E    90   86
    F    92   99
fr[1:4]
       math  kor
    B    93   88
    C    91   90
    D    88   95
fr['math']['A']
91
fr['math'][1:3]
    B    93
    C    91
fr['math']  <- 한 column은 Series
    A    91
    B    93
    C    91
    D    88
    E    90
    F    92

loc

fr.loc['A']
    math    91
    kor     88
fr.loc['A', 'math']
    91
fr.loc['A']['math']
    91

iloc

index loc

fr.iloc[0]
    math    91
    kor     88

sort

fr.sort_index()
       math  kor
    A    91   88
    B    93   88
    C    91   90
    D    88   95
    E    90   86
    F    92   99
fr.sort_values('math')
       math  kor
    D    88   95
    E    90   86
    A    91   88
    C    91   90
    F    92   99
    B    93   88
fr.sort_values('math', ascending=False)
       math  kor
    B    93   88
    F    92   99
    A    91   88
    C    91   90
    E    90   86
    D    88   95

filtering

fr[fr['math'] > 90]
       math  kor
    A    91   88
    B    93   88
    C    91   90
    F    92   99

수학이 90점을 넘고, 국어도 90점을 넘는 경우의 record들을 출력

fr[(fr['math'] > 90]) & (fr['kor'] > 90)]
       math  kor
    F    92   99

수학과 국어 점수를 합하기

fr = pd.DataFrame({'math': [91, 93, 91, 88, 90, 92], 'kor':[88, 88, 90, 95, 86, 99]})

fr['math'] + fr['kor']
    0    179
    1    181
    2    181
    3    183

수학과 국어 점수의 평균

col 추가

수학과 국어 점수의 평균을 구하여 'avg' column을 추가하기

fr['avg'] = (fr['math'] + fr['kor']) / 2
      0    89.5
      1    90.5
      2    90.5
      3    91.5
      4    88.0
      5    95.5
반응형

'AI > Big data' 카테고리의 다른 글

hyperparameter tuning  (0) 2022.03.19
Titanic data training  (0) 2022.03.19
Titanic data analysis  (0) 2022.03.19
Pandas Series  (0) 2022.03.18
Map Reduce vs. Spark  (0) 2022.03.06