History
home
BDA ์—ฐํ˜
home

- DataFrame ๊ธฐ์ดˆ๋ฌธ๋ฒ• (Pandas)

๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„(DataFrame) ๊ฐ์ฒด

โ€ข
๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ์ง€์นญํ•˜๋Š” ๊ฐ์ฒด
โ€ข
๋„˜ํŒŒ์ด ๋ฐฐ์—ด์˜ ํŠน์„ฑ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ง
โ€ข
์ธ๋ฑ์‹ฑ์€ ์—ด๊ณผ ํ–‰์„ ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ

๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ์— ํ•„์š”ํ•œ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•๋“ค

1.
query() : ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋ง - ์˜ˆ์‹œ: df.query('age > 30')๋Š” age ์ปฌ๋Ÿผ์ด 30 ์ดˆ๊ณผ์ธ ๋ชจ๋“  ํ–‰์„ ๋ฐ˜ํ™˜
2.
[], [[]]: []๋Š” ๋‹จ์ผ ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๊ณ , [[]]๋Š” ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์„ ์„ ํƒ - ์˜ˆ์‹œ: df['age']๋Š” age ์ปฌ๋Ÿผ์„, df[['age', 'name']]๋Š” age์™€ name ์ปฌ๋Ÿผ์„ ์„ ํƒ
3.
sort_values() : ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์ปฌ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ - ์˜ˆ์‹œ: df.sort_values('age')๋Š” age ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
4.
groupby(): ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ์ง‘๊ณ„, ๋ณ€ํ™˜, ํ•„ํ„ฐ๋ง์„ ์ˆ˜ํ–‰ - ์˜ˆ์‹œ: df.groupby('gender').mean()๋Š” gender์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ , ๊ฐ ๊ทธ๋ฃน์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐ
5.
assign(): ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์ปฌ๋Ÿผ์„ ์ˆ˜์ • - ์˜ˆ์‹œ: df.assign(new_column=lambda x: x['age'] * 2)๋Š” age ์ปฌ๋Ÿผ์˜ ๋‘ ๋ฐฐ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€
6.
merge(): ๋‘ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํŠน์ • ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋ณ‘ํ•ฉ - ์˜ˆ์‹œ: df1.merge(df2, on='user_id')๋Š” ๋‘ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ user_id ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๋ณ‘ํ•ฉ
7.
agg(): ๋‹ค์–‘ํ•œ ์ง‘๊ณ„ ํ•จ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์— ์ ์šฉํ•˜์—ฌ ์š”์•ฝ ํ†ต๊ณ„๋ฅผ ๊ณ„์‚ฐ - ์˜ˆ์‹œ: df.agg({'age': ['min', 'max'], 'salary': 'mean'})๋Š” age์˜ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’, salary์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐ
8.
concat(): ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํ–‰์ด๋‚˜ ์—ด ๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ๊ฒฐ - ์˜ˆ์‹œ: pd.concat([df1, df2])๋Š” ๋‘ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ํ–‰ ๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ๊ฒฐ
9.
loc, iloc: loc๋Š” ๋ ˆ์ด๋ธ”์„ ๊ธฐ์ค€์œผ๋กœ ํ–‰ ๋˜๋Š” ์—ด์„ ์„ ํƒํ•˜๊ณ , iloc๋Š” ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ ํƒ - ์˜ˆ์‹œ: df.loc[0, 'age']๋Š” 0๋ฒˆ์งธ ํ–‰์˜ age ์ปฌ๋Ÿผ ๊ฐ’์„, df.iloc[0, 1]์€ 0๋ฒˆ์งธ ํ–‰์˜ 1๋ฒˆ์งธ ์ปฌ๋Ÿผ ๊ฐ’์„ ์„ ํƒ
10.
str(): ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ - ์˜ˆ์‹œ: df['name'].str.upper()๋Š” name ์ปฌ๋Ÿผ์˜ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
์ˆ˜์—… ์ž๋ฃŒ ์˜ˆ์‹œ