[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'>
