[Pandas] DataFrame : Create


Contents

๋ณธ ํฌ์ŠคํŒ…์€ Pandas์˜ DataFrame : Create๋ถ€๋ถ„์— ๊ด€ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.



DataFrame

pandas์˜ DataFrame์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

  • DataFrame์€ ๊ฐ ์—ด์ด Series๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ง„ 2์ฐจ์› ๋ฐฐ์—ด์ด๋‹ค.
  • DataFrame์˜ ํ–‰์€ ๋‹ค์–‘ํ•œ ์†์„ฑ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ชจ์Œ์ธ ๋ ˆ์ฝ”๋“œ(record)์ด๋‹ค.

DataFrame ๊ฐ์ฒด๋ฅผ CRUD(Create, Read, Update, Delete)์ˆœ์„œ๋Œ€๋กœ ๋‚˜๋ˆ„์–ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋ฉฐ,
์–‘์ด ๋งŽ๊ธฐ์— ํฌ์ŠคํŒ…๋งˆ๋‹ค ๋‚˜๋ˆ„์–ด ์ •๋ฆฌํ•˜์˜€๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” Create๋ถ€๋ถ„์— ๊ด€ํ•ด์„œ ์ •๋ฆฌํ•˜์˜€๋‹ค.


DataFrame์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ DataFrame()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ,
data ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” ๋‹ค์Œ์˜ ๊ฒƒ๋“ค์ด ์ธ์ž๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐ™์€ ๊ธธ์ด๋กœ ์ด๋ฃจ์–ด์ง„ Series๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ
  • ๊ฐ™์€ ๊ธธ์ด๋กœ ์ด๋ฃจ์–ด์ง„ 1์ฐจ์› ๋ฐฐ์—ด๋“ค์„ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋Š” ๋”•์…”๋„ˆ๋ฆฌ
  • ๊ฐ™์€ ๊ธธ์ด๋กœ ์ด๋ฃจ์–ด์ง„ 1์ฐจ์› ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ

๋”๋ถˆ์–ด, ์‹œ๋ฆฌ์ฆˆ์™€ ๋™์ผํ•˜๊ฒŒ index์™€ columns ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋ฆฌ์ŠคํŠธ ๊ฐ’์„ ์ „๋‹ฌํ•˜์—ฌ ์ธ๋ฑ์Šค ๋ผ๋ฒจ๊ณผ ์—ด ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

pandas.DataFrame(data= ..., index = ..., columns = ...)


Series To DataFrame

Series ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ DataFrame์„ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ, Series์˜ ๊ณตํ†ต๋œ index๊ฐ’์ด column๊ฐ’์œผ๋กœ ์ „ํ™˜๋˜์–ด ์ด๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์œ„์น˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”๋ถˆ์–ด, DataFrame์˜ index๊ฐ’์„ ๋ณ„๋„๋กœ ์ „๋‹ฌํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •์ˆ˜ํ˜• ์œ„์น˜ ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

# ์‹œ๋ฆฌ์ฆˆ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ
Series_data1 = pd.Series({'a0':1, 'a1':4, 'a2':7})
Series_data2 = pd.Series({'a0':2, 'a1':5, 'a2':8})
Series_data3 = pd.Series({'a0':3, 'a1':6, 'a2':9})
Series_list_data = [Series_data1, Series_data2, Series_data3]

df1 = pd.DataFrame(Series_list_data)
print('[ ์‹œ๋ฆฌ์ฆˆ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ]\n', df1)
print(type(df1))
[ ์‹œ๋ฆฌ์ฆˆ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ]
    a0  a1  a2
0   1   4   7
1   2   5   8
2   3   6   9
<class 'pandas.core.frame.DataFrame'>


Dict To DataFrame

Dict๋ฐ์ดํ„ฐ์„ ์ด์šฉํ•˜์—ฌ DataFrame์„ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ, ๋”•์…”๋„ˆ๋ฆฌ์˜ key๊ฐ’์ด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ์—ด๋กœ ์œ„์น˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ , ๊ฐ ์—ด์—๋Š” ํ•ด๋‹น ํ‚ค๊ฐ’์— ๋”ฐ๋ฅธ ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ ์›์†Œ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์œ„์น˜๋˜์—ˆ๋‹ค. ๋”๋ถˆ์–ด, ์œ„์—์„œ์™€ ๋‹ฌ๋ฆฌ index๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค ๋ผ๋ฒจ์ด ์ง€์ •๋˜์—ˆ๋‹ค.

# ๋”•์…”๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ
dict_data = { 'a0' : [1, 2, 3], 'a1' : [4, 5, 6], 'a2' : [7, 8, 9]}

df2 = pd.DataFrame(dict_data, index = ['c0', 'c1', 'c2'])
print('[ ๋”•์…”๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ]\n', df2)
print(type(df2))
[ ๋”•์…”๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ]
     a0  a1  a2
c0   1   4   7
c1   2   5   8
c2   3   6   9
<class 'pandas.core.frame.DataFrame'>


2Dim List To DataFrame

2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ DataFrame ์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ์ˆœ์ฐจ์ ์ธ ์—ด ๋ฐฑํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค๊ณผ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋‚ด๋ถ€์˜ 1์ฐจ์› ๋ฆฌ์ŠคํŠธ ์›์†Œ๋Š” ๊ฐ๊ฐ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์—์„œ ํ•˜๋‚˜์˜ ํ–‰(ํ˜น์€ ๋ ˆ์ฝ”๋“œ)์— ๋ฐฐ์น˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”๋ถˆ์–ด, ์—ด ์ด๋ฆ„์„ ๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์ •์ˆ˜๊ฐ€ ์ž๋™ ์ง€์ •๋˜์—ˆ์„ ๊ฒƒ์ด์ง€๋งŒ, columns ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ์—ด ์ด๋ฆ„์„ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค.

# 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ
list_data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

df2 = pd.DataFrame(list_data, columns = ['a0', 'a1', 'a2'])
print('[ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋ฐ์ดํ„ฐ ]\n', df3)
print(type(df3))
[ 2์ฐจ์› ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ]
    a0  a1  a2
0   1   2   3
1   4   5   6
2   7   8   9
<class 'pandas.core.frame.DataFrame'>





ยฉ 2022. by Yejin Ha

Powered by JihyunRyu