๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data analysis/๋ฐ์ดํ„ฐ ๋ถ„์„

Pandas ์‚ฌ์šฉ๋ฒ• - ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ์ •๋ ฌ ๋ฐ ์ˆ˜์ • [๊ธฐ๋ณธ]

๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ

๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๋ฉด ์ •์ƒ์ ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€์žˆ๊ธฐ๋„ ํ•˜์ง€๋งŒ ์ค‘๊ฐ„์ค‘๊ฐ„ ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ์ด์ƒํ•œ ๊ฐ’์ด ์ž…๋ ฅ๋˜์–ด ์žˆ์„์ˆ˜๋„ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•  ๋•Œ์—๋Š” ๊ฒฐ์ธก์น˜๋ฅผ ์ฒ˜๋ฆฌํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๋ช‡๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. 

data = {
    '์ด๋ฆ„' : ['์ฑ„์น˜์ˆ˜', '์ •๋Œ€๋งŒ', '์†กํƒœ์„ญ', '์„œํƒœ์›…', '๊ฐ•๋ฐฑํ˜ธ', '๋ณ€๋•๊ทœ', 'ํ™ฉํƒœ์‚ฐ', '์œค๋Œ€ํ˜‘'],
    'ํ•™๊ต' : ['๋ถ์‚ฐ๊ณ ', '๋ถ์‚ฐ๊ณ ', '๋ถ์‚ฐ๊ณ ', '๋ถ์‚ฐ๊ณ ', '๋ถ์‚ฐ๊ณ ', '๋Šฅ๋‚จ๊ณ ', '๋Šฅ๋‚จ๊ณ ', '๋Šฅ๋‚จ๊ณ '],
    'ํ‚ค' : [197, 184, 168, 187, 188, 202, 188, 190],
    '๊ตญ์–ด' : [90, 40, 80, 40, 15, 80, 55, 100],
    '์˜์–ด' : [85, 35, 75, 60, 20, 100, 65, 85],
    '์ˆ˜ํ•™' : [100, 50, 70, 70, 10, 95, 45, 90],
    '๊ณผํ•™' : [95, 55, 80, 75, 35, 85, 40, 95],
    '์‚ฌํšŒ' : [85, 25, 75, 80, 10, 80, 35, 95],
    'SWํŠน๊ธฐ' : ['Python', 'Java', 'Javascript', '', '', 'C', 'PYTHON', 'C#']
}
df = pd.DataFrame(data,index =['1๋ฒˆ','2๋ฒˆ','3๋ฒˆ','4๋ฒˆ','5๋ฒˆ','6๋ฒˆ','7๋ฒˆ','8๋ฒˆ'])
df.index.name = '์ง€์›๋ฒˆํ˜ธ'

'SW ํŠน๊ธฐ'์—ด์„ ๋ณด๋ฉด NaN๊ฐ’์ด ์ž…๋ ฅ๋œ ๊ณณ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ์•„๋ฌด ๊ฐ’๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„ NaN๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์€ NaN ๋ง๊ณ ๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฒฐ์ธก์น˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ํ™•์ธํ•˜๊ณ  ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

fillna

๊ฒฐ์ธก ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์—๋Š” fillna ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค.

#๋ฐ์ดํ„ฐ ์ฑ„์šฐ๊ธฐ
df.fillna('')

#๋ฐ์ดํ„ฐ๋ฅผ '์—†์Œ'์œผ๋กœ ์ฑ„์šฐ๊ธฐ
df.fillna('์—†์Œ')

NaN์„ ๊ณต๋ฐฑ์œผ๋กœ ์ฑ„์šด DataFrame
NaN์„ '์—†์Œ'์œผ๋กœ ์ฑ„์šด DataFrame

fillna๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฒฐ์ธก์น˜๋ฅผ ์ž๊ธฐ๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ fillna๋Š” ๋ชจ๋“  DataFrame์— ์ ์šฉ๋œ๋‹ค.

์ž„์˜๋กœ 'ํ•™๊ต'์—ด์„ NaN๊ฐ’์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด์ž.

import numpy as np
df['ํ•™๊ต'] = np.nan
df

df.fillna('๋ชจ๋ฆ„') #inplace๋ฅผ True๋กœ ํ•ด์•ผ ์›๋ž˜ ๋ฐ์ดํ„ฐ๋„ ๋ณ€๊ฒฝ๋จ

fillna๋กœ ๋ชจ๋“  NaN๊ฐ’์— '๋ชจ๋ฆ„'์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์›๋ž˜ ๋ฐ์ดํ„ฐ์— ์ ์šฉ์‹œํ‚ค๋ ค๋ฉด inplace ์˜ต์…˜์„ True๋กœ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.


๋ฐ์ดํ„ฐ ์ œ์™ธํ•˜๊ธฐ (dropna)

๊ฒฐ์ธก์น˜์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ๋„ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ํ•™์Šต์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ž‘๋‹ค๋ฉด ์•„์‰ฌ์šด ๋ฐฉ๋ฒ•์ผ ์ˆ˜ ์žˆ๋‹ค.

df.dropna() #NaN์„ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œ , inplaceํ•˜๋ฉด ์ ์šฉ

NaN ๊ฐ’์„ ๊ฐ€์ง€๋˜ 4๋ฒˆ, 5๋ฒˆ ์—ด์ด ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ NaN๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํ–‰์„ ์‚ญ์ œํ•  ๊ฒƒ์ธ์ง€, ์—ด์„ ์‚ญ์ œํ•  ๊ฒƒ์ธ์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ญ์ œ ์กฐ๊ฑด๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

#axis = index or columns
#how = any or all -> any๋ฉด ๋ฐ์ดํ„ฐ์ค‘ ํ•˜๋‚˜๋งŒ NaN์ด์–ด๋„ ์‚ญ์ œ, all์ด๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ NaN์ด์–ด์•ผ ์‚ญ์ œ
df.dropna(axis='index',how='any')

df.dropna(axis='columns')

NaN ๊ฐ’์ด ํฌํ•จ๋œ 'SWํŠน๊ธฐ'์—ด์ด ์‚ฌ๋ผ์ง


๋ฐ์ดํ„ฐ ์ •๋ ฌ

๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•  ๋•Œ ๊ธฐ์ค€์— ์˜ํ•ด ์ •๋ ฌํ•ด์•ผํ•˜๋Š” ์ผ์ด ์ƒ๊ธด๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

df.sort_values('ํ‚ค',ascending=False) #ํ‚ค ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

sort_values๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด DataFrame์„ ์‰ฝ๊ฒŒ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ๊ฐ€์ง€ ๊ธฐ์ค€์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

df.sort_values(['์ˆ˜ํ•™','์˜์–ด'],ascending=False) #์ˆ˜ํ•™ 1์ˆœ์œ„, ์˜์–ด 2์ˆœ์œ„ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ

์œ„๋ฅผ ๋ณด๋ฉด ์ˆ˜ํ•™์ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒƒ์ด๋‹ค.  3๋ฒˆํ•™์ƒ๊ณผ 4๋ฒˆํ•™์ƒ์˜ ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ ๋˜‘๊ฐ™์„ ๋•Œ๋Š” ์˜์–ด์ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค. 

ํ•œ๊ฐœ์˜ Column๋งŒ ๋ฝ‘์•„์„œ ์ •๋ ฌํ•˜๊ฑฐ๋‚˜, index๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •๋ ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

>>> df['ํ‚ค'].sort_values()
์ง€์›๋ฒˆํ˜ธ
3๋ฒˆ    168
2๋ฒˆ    184
4๋ฒˆ    187
5๋ฒˆ    188
7๋ฒˆ    188
8๋ฒˆ    190
1๋ฒˆ    197
6๋ฒˆ    202
Name: ํ‚ค, dtype: int64

>>> df.sort_index()


๋ฐ์ดํ„ฐ ์ˆ˜์ •

๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋จผ์ € dictํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

>>> #columns ์ˆ˜์ •
>>> df['ํ•™๊ต'].replace({'๋ถ์‚ฐ๊ณ ':'์ƒ๋ถ๊ณ ','๋Šฅ๋‚จ๊ณ ':'๊ตฐํฌ๊ณ '}) #๋ถ์‚ฐ๊ณ ๋ฅผ ์ƒ๋ถ๊ณ ๋กœ ๋ฐ”๊พผ๋‹ค. , ๋Šฅ๋‚จ๊ณ ๋Š” ๊ตฐํฌ๊ณ ๋กœ ๋ฐ”๊พผ๋‹ค. ๋ฐ”๊พธ๋ ค๋ฉด inplace
์ง€์›๋ฒˆํ˜ธ
1๋ฒˆ    ์ƒ๋ถ๊ณ 
2๋ฒˆ    ์ƒ๋ถ๊ณ 
3๋ฒˆ    ์ƒ๋ถ๊ณ 
4๋ฒˆ    ์ƒ๋ถ๊ณ 
5๋ฒˆ    ์ƒ๋ถ๊ณ 
6๋ฒˆ    ๊ตฐํฌ๊ณ 
7๋ฒˆ    ๊ตฐํฌ๊ณ 
8๋ฒˆ    ๊ตฐํฌ๊ณ 
Name: ํ•™๊ต, dtype: object

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ inplace๋ฅผ True๋กœ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์ด ์ ์šฉ๋œ๋‹ค.

df1 = df
df1['ํ•™๊ต'].replace({'๋ถ์‚ฐ๊ณ ':'์„ฑ๋ถ๊ณ '},inplace=True)
df1

๋ถ์‚ฐ๊ณ  -> ์„ฑ๋ถ๊ณ ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค.

str์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ• ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๊ฐ€ ์ œ๊ณต๋œ๋‹ค.

df['SWํŠน๊ธฐ'] = df['SWํŠน๊ธฐ'].str.lower()
df

SWํŠน๊ธฐ๊ฐ€ ๋ชจ๋‘ ์†Œ๋ฌธ์ž ์ฒ˜๋ฆฌ ๋˜์—ˆ๋‹ค.

df['SWํŠน๊ธฐ'] = df['SWํŠน๊ธฐ'].str.upper()
df

๋˜ํ•œ ์ผ๋ฐ˜ ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

df['ํ•™๊ต'] = df['ํ•™๊ต'] + '๋“ฑํ•™๊ต'
df


Column ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ

์ž์‹ ์ด ์›ํ•˜๋Š” ์—ด์„ ์ถ”๊ฐ€๋กœ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

df['์ดํ•ฉ'] = df['๊ตญ์–ด']+df['์˜์–ด']+df['์ˆ˜ํ•™']+df['๊ณผํ•™']+df['์‚ฌํšŒ']
df['๊ฒฐ๊ณผ']= 'Fail' #์ปฌ๋Ÿผ ์ถ”๊ฐ€ ํ›„ ๋ฐ์ดํ„ฐ Fail๋กœ ์ดˆ๊ธฐํ™”
df

์ดํ•ฉ๊ณผ ๊ฒฐ๊ณผ column์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ Fail๋กœ ์ดˆ๊ธฐํ™” ํ•œ ํ›„ ์ด ํ•ฉ์ด 400์  ์ด์ƒ์ธ ์‚ฌ๋žŒ๋งŒ Pass๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

df.loc[df['์ดํ•ฉ']>400, '๊ฒฐ๊ณผ'] = 'Pass' #์ดํ•ฉ์ด 400๋ณด๋‹ค ํฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ pass๋กœ ์—…๋ฐ์ดํŠธ 
df

 

์ดํ•ฉ ์ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋‹ˆ ์ด์ œ ๋‹ค์‹œ ์ดํ•ฉ์„ ์‚ญ์ œํ•ด๋ณด์ž.

df.drop(columns='์ดํ•ฉ') #์ดํ•ฉ ์—ด ์‚ญ์ œ

drop ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  column ์˜ต์…˜์— ์ดํ•ฉ์„ ์ง‘์–ด๋„ฃ์œผ๋ฉด ์—ด์ด ์‚ญ์ œ๋œ๋‹ค.

ํ•œ๊ฐœ์˜ ์—ด์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ํ•œ๋ฒˆ์— dropํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด columns์— listํ˜•ํƒœ๋กœ ์—ด์˜ ์ด๋ฆ„์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

df.drop(columns=['๊ตญ์–ด','์˜์–ด','์ˆ˜ํ•™'])


Row ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ

row๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์ž. ์•ž์„œ ๋ฐฐ์šด loc์™€ iloc๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ–‰์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

df.loc['9๋ฒˆ']= ['์ด์ •ํ™˜','ํ•ด๋‚จ๊ณ ๋“ฑํ•™๊ต','184','90','90','90','90','90','Kotlin',450,'Pass'] #์ƒˆ๋กœ์šด row์ถ”๊ฐ€
df

row๋ฅผ ์‚ญ์ œํ•  ๋•Œ์—๋„ drop์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์˜ต์…˜์„ ์‚ด์ง ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.

df.drop(index = '4๋ฒˆ') # 4๋ฒˆ ํ•™์ƒ ๋ฐ์ดํ„ฐ row๋ฅผ ์‚ญ์ œ

์œ„์™€ ๊ฐ™์ด index์— ์‚ญ์ œํ•˜๊ณ  ์‹ถ์€ index๋ช…์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์กฐ๊ฑด์— ํ•ด๋‹น๋˜๋Š” ํ–‰์„ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

filt = df['์ˆ˜ํ•™']<80
df[filt].index
df.drop(index = df[filt].index)

์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜ํ•™์ ์ˆ˜๊ฐ€ 80์  ๋ฏธ๋งŒ์ธ ์‚ฌ๋žŒ์„ ๊ฑธ๋Ÿฌ๋‚ด๋Š”๋ฐ ์กฐ๊ฑด์— ํ•ด๋‹น๋˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ถ”์ถœํ•œ ๋’ค์— drop์— ์ง‘์–ด๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

 


Cell ์ˆ˜์ •

๊ฐ๊ฐ์˜ Cell์„ ํ•˜๋‚˜์”ฉ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

df.loc['4๋ฒˆ','SWํŠน๊ธฐ'] = 'Python' 
df

df.loc['5๋ฒˆ',['ํ•™๊ต','SWํŠน๊ธฐ']] = ['๋Šฅ๋‚จ๊ณ ๋“ฑํ•™๊ต','C']
df


Column ์ˆœ์„œ ๋ณ€๊ฒฝ ๋ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ

DataFrame์˜ column์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ๋จผ์ € column์„ ์ถœ๋ ฅํ•ด๋ณด์ž

>>> cols = list(df.columns)
['์ด๋ฆ„', 'ํ•™๊ต', 'ํ‚ค', '๊ตญ์–ด', '์˜์–ด', '์ˆ˜ํ•™', '๊ณผํ•™', '์‚ฌํšŒ', 'SWํŠน๊ธฐ', '์ดํ•ฉ', '๊ฒฐ๊ณผ']

๋งจ ๋์— ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ 1์—ด์„๊ฐ€์ ธ์˜ค๊ณ , ๋‚˜๋จธ์ง€ column์„ ๋’ค์— ๋ฐฐ์น˜ํ•ด๋ณด์ž.

df = df[[cols[-1]] + cols[0:-1]] #๋งจ ๋’ค์— ์žˆ๋Š” ๊ฒฐ๊ณผ Column์„ ์•ž์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ณ , ๋‚˜๋จธ์ง€ Column๋“ค๊ณผ ํ•ฉ์ณ์„œ ์ˆœ์„œ ๋ณ€๊ฒฝ
df

์ˆœ์„œ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฒซ 3์—ด๋งŒ ์ถ”์ถœํ•ด์„œ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•ด๋ณด์ž.

df = df[['๊ฒฐ๊ณผ','์ด๋ฆ„','ํ•™๊ต']]
df

 

column์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

df.columns = ['Result','Name','School']
df

728x90