[Pandas] DataFrame : Read&Update ํ/์ดpart
Contents
๋ณธ ํฌ์คํ ์ Pandas์ DataFrame : Read&Update๋ถ๋ถ ์ค ํ๊ณผ ์ด์ ์ ํ/์ถ๊ฐ/์์ ๋ฑ์ ๊ดํ์ฌ ์ค์ ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค.
Index / columns / values ์ ๊ทผ
๋ฐ์ดํฐํ๋ ์ ๊ฐ์ฒด๋ ๋ค์์ ์์ฑ์ ์ด์ฉํด์ ํ ์ธ๋ฑ์ค์ ์ด ์ด๋ฆ์ ์ ๊ทผํ ์ ์๋ค.
index: DataFrame์ ํ ์ธ๋ฑ์ค ์ ๊ทผcolumns: DataFrame์ ์ด ์ด๋ฆ ์ ๊ทผvalues: DataFrame์ ๊ฐ์ ์ ๊ทผ (2์ฐจ์ ๋ฐฐ์ด ์ถ๋ ฅ)
dict_data = { 'a0' : [1, 2, 3], 'a1' : [4, 5, 6], 'a2' : [7, 8, 9]}
df = pd.DataFrame(dict_data, index = ['c0', 'c1', 'c2'])
print('[ DataFrame ]\n', df)
index_data = df.index
print('\n[ DataFrame์ index ]\n', index_data)
columns_data = df.columns
print('\n[ DataFrame์ columns ]\n', columns_data)
values_data = df.values
print('\n[ DataFrame์ values ]\n', values_data)
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ DataFrame์ index ]
Index(['c0', 'c1', 'c2'], dtype='object')
[ DataFrame์ columns ]
Index(['a0', 'a1', 'a2'], dtype='object')
[ DataFrame์ values ]
[[1 4 7]
[2 5 8]
[3 6 9]]
ํ ์ธ๋ฑ์ค์ ์ด ์ด๋ฆ ์์
๋ฐ์ดํฐํ๋ ์์ ํ ์ธ๋ฑ์ค์ ์ด ์ด๋ฆ์ ์์ index์ columns ์์ฑ์ผ๋ก ์์ ํ ์ ์๋ค.
print('[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ์ ]\n', df)
df_copy1 = df.copy()
df_copy1.columns = ['A0', 'A1', 'A2']
df_copy1.index = ['B0', 'B1', 'B2']
print('\n[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ํ ]\n', df_copy1)
[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ์ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ํ ]
A0 A1 A2
B0 1 4 7
B1 2 5 8
B2 3 6 9
ํ์ง๋ง, ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐํ๋ ์์์ ํน์ ํ ์ธ๋ฑ์ค ๊ฐ ํน์ ํน์ ์ด ์ด๋ฆ ๊ฐ ํ๋๋ง ์์ ํ๊ธฐ์๋ ๊ธธ์ด๊ฐ ๋์ด๋ ์๋ก ๋ถํธํด์ง๋ค. ์ด์ ๊ฐ์ด ํน์ ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋ rename ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ค. ๋๋ถ์ด, ํด๋น ๋ฉ์๋๋ inplace ์ต์
์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฐ์ดํฐํ๋ ์ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๊ฑฐ๋ ์๋ณธ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. ๊ธฐ๋ณธํํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
# ํ ์ธ๋ฑ์ค ๋ณ๊ฒฝ
DataFrame.rename(index = {๊ธฐ์กด ์ธ๋ฑ์ค : ๋ณ๊ฒฝ ์ธ๋ฑ์ค, ...}, inplace = True)
# ์ด ์ด๋ฆ ๋ณ๊ฒฝ
DataFrame.rename(columns = {๊ธฐ์กด ์ธ๋ฑ์ค : ๋ณ๊ฒฝ ์ธ๋ฑ์ค, ...}, inplace = True)
print('[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ์ ]\n', df)
df_copy2 = df.copy()
df_copy2.rename(columns = {'a0':'A', 'a2':'C'}, inplace = True)
print('\n[ ํน์ ์ด ์ด๋ฆ ์์ ]\n', df_copy2)
df_copy3 = df.copy()
df_copy3.rename(index = {'c0':'A', 'c2':'C'}, inplace = True)
print('\n[ ํน์ ํ ์ธ๋ฑ์ค ์์ ]\n', df_copy3)
df_copy4 = df.copy()
df_copy4.rename(columns = {'a0':'A', 'a2':'C'},
index = {'c0':'A', 'c2':'C'}, inplace = True)
print('\n[ ๋์ ์์ ]\n', df_copy4)
[ ํ ์ธ๋ฑ์ค/์ด ์ด๋ฆ ์์ ์ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ ํน์ ์ด ์ด๋ฆ ์์ ]
A a1 C
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ ํน์ ํ ์ธ๋ฑ์ค ์์ ]
a0 a1 a2
A 1 4 7
c1 2 5 8
C 3 6 9
[ ๋์ ์์ ]
A a1 C
A 1 4 7
c1 2 5 8
C 3 6 9
ํ
3-1) ํ ์ ํ
๋ฐ์ดํฐํ๋ ์์ ํ์ ์ ํํ๊ธฐ ์ํด์๋ loc์ iloc๋ฉ์๋๋ฅผ ์ด์ฉํ๋ค.
loc: ์ธ๋ฑ์ค ๋ผ๋ฒจ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ ์ ํํ๋ค.iloc: ์ ์ํ(โiโnteger) ์์น ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ ์ ํํ๋ค.
๋ ๋ฉ์๋ ๋ชจ๋ ๋ฆฌ์คํธ์ ๋์ผํ๊ฒ ์ฌ๋ผ์ด์ฑ์ ์ด์ฉํ์ฌ ํ์ ์ ํํ ์ ์๋ค.
๋ ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ๋จ์ผ ํ์ ์ ํํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ,
Series ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('[ DataFrame ]\n', df)
first_row1 = df.loc['c0']
first_row2 = df.iloc[0]
print('\n[ loc๋ก c0ํ ์ ํ ]\n', first_row1)
print(type(first_row1)) # ์ถ๋ ฅ ๊ฒฐ๊ณผ๊ฐ ์๋ฆฌ์ฆ ๊ฐ์ฒด์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('\n[ iloc๋ก 0๋ฒ์งธ ํ ์ ํ ]\n', first_row2)
print(type(first_row2)) # ์ถ๋ ฅ ๊ฒฐ๊ณผ๊ฐ ์๋ฆฌ์ฆ ๊ฐ์ฒด์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ loc๋ก c0ํ ์ ํ ]
a0 1
a1 4
a2 7
Name: c0, dtype: int64
<class 'pandas.core.series.Series'>
[ iloc๋ก 0๋ฒ์งธ ํ ์ ํ ]
a0 1
a1 4
a2 7
Name: c0, dtype: int64
<class 'pandas.core.series.Series'>
ํน์ ํ๋ง ์ ํํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ค.
๋จ์ผ ํ์ ์ ํํ ๋์ ๋ฌ๋ฆฌ DataFrame ๊ฐ์ฒด๋ก ๋ฐํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('[ DataFrame ]\n', df)
first_row1 = df.loc[['c0', 'c2']]
first_row2 = df.iloc[[0, 2]]
print('\n[ loc๋ก c0, c2 ํ ์ ํ ]\n', first_row1)
print(type(first_row1))
print('\n[ iloc๋ก 0๋ฒ์งธ, 2๋ฒ์งธ ํ ์ ํ ]\n', first_row2)
print(type(first_row2))
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ loc๋ก c0, c2 ํ ์ ํ ]
a0 a1 a2
c0 1 4 7
c2 3 6 9
<class 'pandas.core.frame.DataFrame'>
[ iloc๋ก 0๋ฒ์งธ, 2๋ฒ์งธ ํ ์ ํ ]
a0 a1 a2
c0 1 4 7
c2 3 6 9
<class 'pandas.core.frame.DataFrame'>
์ฌ๋ผ์ด์ฑ์ ์ด์ฉํ์ฌ ํ์ ์ ํํ ๊ฒฝ์ฐ์๋
loc์ iloc๊ฐ ์ ํํ๋ ๋ฒ์์ ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
loc: ๋ง์ฝ [โaโ, โcโ]์ ์ ํํ ๊ฒฝ์ฐ a, b, cํ์ ๋ชจ๋ ์ ํํ๋ค.iloc: ๋ง์ฝ [0, 2]๋ฅผ ์ ํํ ๊ฒฝ์ฐ 0๋ฒ์งธ, 1๋ฒ์งธ ํ๋ง ์ ํํ๋ค.
print('[ DataFrame ]\n', df)
first_row1 = df.loc['c0':'c1']
first_row2 = df.iloc[0:1]
print('\n[ loc๋ก \'c0\':\'c1\' ์ ํ ]\n', first_row1)
print(type(first_row1)) # c0, c1 ๋ชจ๋ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('\n[ iloc๋ก 0:1 ์ ํ ]\n', first_row2)
print(type(first_row2)) # c0๊น์ง๋ง ์ถ๋ ฅ๋๋ค.
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ loc๋ก 'c0':'c1' ์ ํ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
<class 'pandas.core.frame.DataFrame'>
[ iloc๋ก 0:1 ์ ํ ]
a0 a1 a2
c0 1 4 7
<class 'pandas.core.frame.DataFrame'>
3-2) ํ ์ถ๊ฐ/์์
๋ฐ์ดํฐํ๋ ์์ ํ์ loc ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์ถ๊ฐํ ์ ์๋ค. ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ํ์ ์์ธํ๋ ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ๋ค. ๋จ, ๋ฐ์ดํฐ ํ๋ ์์์ loc์ ๋ฎ์ iloc์ ๋ฉ์๋๋ ๋ฐ์ดํฐํ๋ ์์ ํ์ ์ถ๊ฐ์ํฌ ์ ์์์ ์ ์ํ์!
# ํ์ถ๊ฐ
DataFrame.loc['์๋ก์ด ํ ์ด๋ฆ'] = ์๋ก์ด ํ์ ๋ฐ์ดํฐ ๊ฐ or ์๋ก์ด ํ์ ๋ฐ์ดํฐ ๋ฆฌ์คํธ
๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ํ๋ ์์ ํ์ ์ถ๊ฐํ ๊ฒฝ์ฐ, ๋ฆฌ์คํธ์ ๊ธธ์ด๋ ๋ฐ์ดํฐ ํ๋ ์์ ์ด ๊ฐ์์ ๋์ผํด์ผ๋ง ํ๋ค. ๋ง์ฝ ๋ฆฌ์คํธ๊ฐ ์๋ ๊ฐ(์์ ์์๋ 999)์ ๊ธฐ์ ํ ๊ฒฝ์ฐ, ๋ชจ๋ ์ด์ ๋์ผํ ๊ฐ์ด ์ถ๊ฐ๋๋ค.
๊ธฐ์กด ๋ฐ์ดํฐํ๋ ์์ ์กด์ฌํ๋ ์ธ๋ฑ์ค ๋ผ๋ฒจ ๊ฐ์ loc๋ฉ์๋์ ๋๊ฒจ์ฃผ๋ฉด ๊ธฐ์กด ๋ฐ์ดํฐํ๋ ์์ ์์๊ฐ์ ๋ณ๊ฒฝ์ํจ๋ค.
print('[ DataFrame ๋ณ๊ฒฝ ์ ]\n', df)
print('\n==========================================')
df.loc['c3'] = 999
print('\n[ c3ํ ์ถ๊ฐ ]\n', df)
df.loc['c4'] = [100, 200, 300]
print('\n[ c4ํ ์ถ๊ฐ ]\n', df)
print('\n==========================================')
df.loc['c0'] = [11, 22, 33]
print('\n[ c0ํ ์์ ]\n', df)
# ๋ฆฌ์คํธ ํํ๋ก ํน์ ํ๋ค๋ง ์ ํํด์ ๋์์ ์์ ํ ์๋ ์๋ค.
# ํ์ง๋ง, ํด๋น ๋ฐฉ๋ฒ์ผ๋ก๋ ๋์์ ํ์ ์ถ๊ฐํ ์๋ ์๋ค.
df.loc[['c1', 'c2']] = [44, 55, 66], [77, 88, 99]
print('\n[ c1ํ, c2ํ ๋์ ์์ ]\n', df)
[ DataFrame ๋ณ๊ฒฝ ์ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
==========================================
[ c3ํ ์ถ๊ฐ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
c3 999 999 999
[ c4ํ ์ถ๊ฐ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
c3 999 999 999
c4 100 200 300
==========================================
[ c0ํ ์์ ]
a0 a1 a2
c0 11 22 33
c1 2 5 8
c2 3 6 9
c3 999 999 999
c4 100 200 300
[ c1ํ, c2ํ ๋์ ์์ ]
a0 a1 a2
c0 11 22 33
c1 44 55 66
c2 77 88 99
c3 999 999 999
c4 100 200 300
3-3) ์์ ์ ํ/์์
๋ฐ์ดํฐํ๋ ์์์ loc ์ iloc ๋ฉ์๋์ ํน์ ์์์ ์ขํ([ํ ์ธ๋ฑ์ค, ์ด์ด๋ฆ])๋ฅผ ์ ๋ฌํ๋ฉด ํด๋น ์์น์ ์๋ ์์๊ฐ ๋ฐํ๋๋ค. ์ด๋ ํน์ ์์ ๋ฟ๋ง ์๋๋ผ ํน์ ๋ฒ์์ ์์, ํน์ ๋ค์ค ์์ ๋ฑ ๋ชจ๋ ๋ฐํ์ํฌ ์ ์๋ค.
# loc ์ด์ฉ
DataFrame.loc[ํ ์ธ๋ฑ์ค, ์ด ์ด๋ฆ]
DataFrame.loc[ํ ์ธ๋ฑ์ค][์ด ์ด๋ฆ]
# iloc ์ด์ฉ
DataFrame.iloc[ํ ๋ฒํธ, ์ด ๋ฒํธ]
DataFrame.iloc[ํ ๋ฒํธ][์ด ๋ฒํธ]
1ํ n์ด ํน์ nํ 1์ด์ ์์๋ค์ ์ ํํ ๊ฒฝ์ฐ์๋ series ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
print('[ DataFrame ]\n', df)
a = df.loc['c0', ['a0', 'a1']]
print('\n[ 1ํ 2์ด ์ ํ ]\n', a)
print(type(a))
b = df.loc[['c0', 'c1'], 'a0']
print('\n[ 2ํ 1์ด ์ ํ ]\n', b)
print(type(b))
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ 1ํ 2์ด ์ ํ ]
a0 1
a1 4
Name: c0, dtype: int64
<class 'pandas.core.series.Series'>
[ 2ํ 1์ด ์ ํ ]
c0 1
c1 2
Name: a0, dtype: int64
<class 'pandas.core.series.Series'>
์ฌ๋ผ์ด์ฑ์ ์ด์ฉํด์ ๋ค์ค ๋ฒ์ ์์๋ฅผ ๋ฐํํ ์๋ ์๋ค.
# ๋์
๋๋ฆฌ ๋ฐ์ดํฐ
df = pd.DataFrame({ 'a0' : [1, 2, 3, 4], 'a1' : [5, 6, 7, 8], 'a2' : [9, 10, 11, 12], 'a3' : [13, 14, 15, 16]},
index = ['c0', 'c1', 'c2', 'c3'])
print('[ DataFrame ]\n', df) # ๋ค๋ฅธ ์์ ์๋ ๋ค๋ฅธ 4x4๋ฐ์ดํฐํ๋ ์
a = df.loc['c1':'c2', 'a1':'a2']
print('\n[ loc : 1~2ํ, 1~2์ด ์ ํ ]\n', a)
print(type(a))
b = df.iloc[:, :4]
print('\n[ iloc : ์ ์ฒด ํ, 0~3์ด ์ ํ ]\n', b)
print(type(b))
[ DataFrame ]
a0 a1 a2 a3
c0 1 5 9 13
c1 2 6 10 14
c2 3 7 11 15
c3 4 8 12 16
[ loc : 1~2ํ, 1~2์ด ์ ํ ]
a1 a2
c1 6 10
c2 7 11
<class 'pandas.core.frame.DataFrame'>
[ iloc : ์ ์ฒด ํ, 0~3์ด ์ ํ ]
a0 a1 a2 a3
c0 1 5 9 13
c1 2 6 10 14
c2 3 7 11 15
c3 4 8 12 16
<class 'pandas.core.frame.DataFrame'>
์ด
4-1) ์ด ์ ํ
๋ฐ์ดํฐํ๋ ์์์ ์ด์ ์ ํํ ๋๋ [](๋๊ดํธ)๋ฅผ ์ด์ฉํ๊ฑฐ๋, ๋ฉ์๋์ฒ๋ผ .(๋ํธ)๋ฅผ ์ด์ฉํ์ฌ ์ด ์ด๋ฆ์ ์ ํํ ์ ์๋ค. ๋จ, .(๋ํธ)๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ ๋จ์ผ ์ด์ ์ ํํ ๋๋ง ์ฌ์ฉํ๋ค.
๋ค์์ ๋จ์ผ ์ด์ ์ถ๋ ฅํ๋ ์์ ์ด๋ค. ๋จ์ผ ํ์ ์ถ๋ ฅํ ๋์ ๋์ผํ๊ฒ series ๊ฐ์ฒด๊ฐ ๋ฐํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('[ DataFrame ]\n', df)
first_col1 = df['a0']
first_col2 = df.a0 # ๋ฐ์ดํ๋ฅผ ์๋ถ์ด๋ ๊ฒ์ด ํฌ์ธํธ์ด๋ค!
print('\n[ a0์ด ์ ํ by [] ]\n', first_col1)
print(type(first_col1))
print('\n[ a0์ด ์ ํ by . ]\n', first_col2)
print(type(first_col2))
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ a0์ด ์ ํ by [] ]
c0 1
c1 2
c2 3
Name: a0, dtype: int64
<class 'pandas.core.series.Series'>
[ a0์ด ์ ํ by . ]
c0 1
c1 2
c2 3
Name: a0, dtype: int64
<class 'pandas.core.series.Series'>
ํน์ ๋ค์ค ์ด์ ์ถ๋ ฅํ ๋๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, DataFrame ๊ฐ์ฒด๊ฐ ๋ฐํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
print('[ DataFrame ]\n', df)
first_col1 = df[['a0', 'a2']]
print('\n[ a0, a2์ด ์ ํ ]\n', first_col1)
print(type(first_col1))
[ DataFrame ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
[ a0, a2์ด ์ ํ ]
a0 a2
c0 1 7
c1 2 8
c2 3 9
<class 'pandas.core.frame.DataFrame'>
4-2) ์ด ์ถ๊ฐ/์์
๋ฐ์ดํฐํ๋ ์์ ์ด์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐํ๋ ์์ ์ด์ ์์ธํ๋ ๋ฐฉ๋ฒ๊ณผ ๋๊ฐ๋ค.
# ์ด์ถ๊ฐ
DataFrame['์๋ก์ด ์ด ์ด๋ฆ'] = ์๋ก์ด ์ด์ ๋ฐ์ดํฐ ๊ฐ or ์๋ก์ด ์ด์ ๋ฐ์ดํฐ ๋ฆฌ์คํธ
๋ฆฌ์คํธ๋ก ๊ฐ์ ๊ธฐ์ ํ ๊ฒฝ์ฐ, ๋ฆฌ์คํธ์ ๊ธธ์ด๋ ๋ฐ์ดํฐํ๋ ์์ ํ์ ๊ธธ์ด์ ๋์ผํด์ผ๋ง ํ๋ค. ๋ง์ฝ ๋ฆฌ์คํธ๊ฐ ์๋ ๊ฐ(์์ ์์๋ 999)์ ๊ธฐ์ ํ ๊ฒฝ์ฐ, ๋ชจ๋ ํ์ ๋์ผํ ๊ฐ์ด ์ถ๊ฐ๋๋ค.
ํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ธฐ์กด ๋ฐ์ดํฐํ๋ ์์ ์กด์ฌํ๋ ์ด์ ๋๊ดํธ ์์ ๊ธฐ์ ํ ๊ฒฝ์ฐ ํด๋น ์ด์ ๊ฐ๋ค์ด ์์ ๋๋ค. ๋๋ถ์ด, ์ฌ๋ฌ ์ด๋ ๋์์ ์์ ๊ฐ๋ฅํ๋ค.
print('[ DataFrame ๋ณ๊ฒฝ ์ ]\n', df)
print('\n==========================================')
df['a3'] = 999
print('\n[ a3์ด ์ถ๊ฐ ]\n', df)
df['a4'] = [100, 200, 300]
print('\n[ a4์ด ์ถ๊ฐ ]\n', df)
print('\n==========================================')
df['a0'] = [11, 22, 33]
print('\n[ a0์ด ์์ ]\n', df)
df[['a1', 'a2']] = [[44,55], [66, 77], [88, 99]]
# [44, 55], [66, 77], [88, 99]๋ก ๊ธฐ์
๊ฐ๋ฅ
print('\n[ a1์ด, a2์ด ์์ ]\n', df)
[ DataFrame ๋ณ๊ฒฝ ์ ]
a0 a1 a2
c0 1 4 7
c1 2 5 8
c2 3 6 9
==========================================
[ a3์ด ์ถ๊ฐ ]
a0 a1 a2 a3
c0 1 4 7 999
c1 2 5 8 999
c2 3 6 9 999
[ a4์ด ์ถ๊ฐ ]
a0 a1 a2 a3 a4
c0 1 4 7 999 100
c1 2 5 8 999 200
c2 3 6 9 999 300
==========================================
[ a0์ด ์์ ]
a0 a1 a2 a3 a4
c0 11 4 7 999 100
c1 22 5 8 999 200
c2 33 6 9 999 300
[ a1์ด, a2์ด ์์ ]
a0 a1 a2 a3 a4
c0 11 44 55 999 100
c1 22 66 77 999 200
c2 33 88 99 999 300
