์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๋ฐ๊ธฐ์ด
- streamlit
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- Streamlit๊ธฐ๋ณธ
- ํ์ด์ฌ
- Streamlit๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- db
- ์๋ฐ
- Pandas
- ์๋ฐ๊ณต๋ถ
- serverless
- JavaScript
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์คํธ๋ฆผ๋ฆฟ
- ํ๋ค์ค
- ํ๋ค์ค๊ณต๋ถ
- RESTful API
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋ฐ์ด๋ณด
- java
- ํ์ด์ฌ๊ณต๋ถ
- MySQL
- Matplotlib ๊ธฐ์ด
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์น๋์๋ณด๋ ์ ์
- ์น๋์๋ณด๋ ๊ธฐ์ด
- Android
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Today
- Total
ruriruriya
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - 1์ฐจ์ ๋ฐ์ดํฐ ์์ฑ ์๋ฆฌ์ฆ(Series), ๋ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค ๋ณธ๋ฌธ
[Python] ํ์ด์ฌ ํ๋ค์ค(Pandas) - 1์ฐจ์ ๋ฐ์ดํฐ ์์ฑ ์๋ฆฌ์ฆ(Series), ๋ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค
๋ฃจ๋ฆฌ์ผใ 2023. 11. 14. 18:18
ํ๋ค์ค(Pandas)๋ ํ์ด์ฌ์์ ๋ฐ์ดํฐ ์กฐ์๊ณผ ๋ถ์์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ์ฃผ๋ก ํ ํ์์ ๋ฐ์ดํฐ๋ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐ์ ์ฌ์ฉํ๋ค. ํ๋ค์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ๋ฆฌํ๋ ๋ฐ ์ ์ฉํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
ํ๋ค์ค(Pandas)์ ์ฅ์
- ํ๊ณผ ์ด์ ๋ ์ด๋ธ์ ์ฌ์ฉํ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ธ ํต๊ณ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ค.
- NaN ๊ฐ์ ์์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฉ์๋๊ฐ ์๋ค.
- ์ซ์ ๋ฌธ์์ด์ ์์์ ๋ถ๋ฌ์จ๋ค.
- ๋ฐ์ดํฐ์
๋ค์ ๋ณํฉํ ์ ์๋ค.
- Numpy์ Matplotlib์ ํตํฉ๋๋ค.
ํ๋ค์ค(Pandas) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๋ฌ์ค๊ธฐ
ํ๋ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฐ์ฅ ์ฒซ๋ฒ ์งธ ๋ฐฉ๋ฒ์ด๋ค.
๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ๋ถ๋ฌ์จ๋ค.
import pandas as pd
ํ๋ค์ค ์๋ฆฌ์ฆ(Pandas Series) ๋ฐ์ดํฐ ์์ฑํ๊ธฐ
ํ๋ค์ค ์๋ฆฌ์ฆ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ๋ ๋ฆฌ์คํธ๋ฅผ ์ด๋ค. ํ์ด์ฌ์์ ๊ฐ์ฅ ์ค์ํ ๊ฐ๋
์ค ํ๋๊ฐ ๋ฆฌ์คํธ์ด๋ ๊ผญ ๊ธฐ์ตํ ๊ฒ!
๋จผ์ ๋ณ์์ ๋ฆฌ์คํธ ๊ฐ์ ๋์
ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค.
>> index = ['americano','latte','cappucino','einspenner']
>> data = [30,50,'Yes','No']
index ๋ณ์๋ฅผ ํ๋กฌํํธ์ ์ณ๋ณด๋ฉด ๋ณ์ ์์ ๊ฐ์ ํ์ธํ ์ ์๋ค.
>> index
['americano','latte','cappucino','einspenner']
>> index[1]
'latte'
์๋ฆฌ์ฆ(Series) ๋?
ํ๋ค์ค์ 1์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ์๋ฆฌ์ฆ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ฆฌ์ฆ ์ค๋ฅธ์ชฝ ๋ถ๋ถ์ value(data) ๋ผ๊ณ ํ๊ณ ์๋ฆฌ์ฆ์ ์ผ์ชฝ ๋ถ๋ถ์ index๋ผ๊ณ ํ๋ค.
์๋ฆฌ์ฆ ๋ฐ์ดํฐ ์์ฑ ์ ์ฌ์ฉ๋ฒ
pd.Series(data=๋ฐ์ดํฐ ๊ฐ์ด ์ํด ์๋ ๋ณ์๋ช , index=์ธ๋ฑ์ค ๊ฐ์ด ์ํด์๋ ๋ณ์๋ช )
>> pd.Series(data=data)
0 30
1 50
2 Yes
3 No
dtype: object
>>pd.Series(data=data, index=index)
americano 30
latte 50
cappucino Yes
einspenner No
dtype: object
์์ฑ๋ ์๋ฆฌ์ฆ ๋ฐ์ดํฐ๋ฅผ ์๋ก์ด ๋ณ์์ ๋ฃ์ด์ ๋์ฑ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
>> caffee = pd.Series(data = data, index = index)
>> caffee
americano 30
latte 50
cappucino Yes
einspenner No
dtype: object
>> caffee.ndim # ๋ฐ์ดํฐ์ ์ฐจ์์ ๋ํ๋ด๋ ์์ฑ( 1์ด๋ฉด 1์ฐจ์(์๋ฆฌ์ฆ) 2์ด๋ฉด 2์ฐจ์(๋ฐ์ดํฐํ๋ ์))
1
>> caffee.size # ์์์ ์ด ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์ฑ
4
>> caffee.shape #ํ๋ค์ค์ ์๋ฆฌ์ฆ๋ ๋ฐ์ดํฐํ๋ ์์ ํํ ํํ๋ก ๋ฐํํ๋ ์์ฑ
(4,)
>> caffee.index
Index(['americano','latte','cappucino','einspenner'], dtype='object')
>> caffee.values
array([30,50,'Yes','No'], dtype=object)
ํ๋ค์ค์ ์ธ๋ฑ์ค์ ๋ ์ด๋ธ
ํ๋ค์ค์ ํด๋น ์์๋ค์ ์ง์ ํ ๋ ์ธ๋ฑ์ค์ ๋ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์์น๋ฅผ ํ์
ํ ์ ์๋ค.
์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ์ฌ ํด๋น ์์์ ์์น์ ์ ๊ทผํ ์ ์๊ณ
๋ ์ด๋ธ์ ๊ฐ ํ๋ ฌ์ ๊ณ ์ ํ ์๋ณ์๋ก ์์น์ ์ ๊ทผํ ์ ์๋ค.
>> caffee
americano 30
latte 50
cappucino Yes
einspenner No
dtype: object
>> caffee['americano']
30
>> caffee[['latte','cappucino']] # 2๊ฐ์ง ์ด์ ํด๋น ๋ ์ด๋ธ ์์๋ฅผ ๋ณด๊ณ ์ถ์ผ๋ฉด ์ค์ฒฉ๋ฆฌ์คํธ ์ฌ์ฉ
latte 50
cappucino Yes
dtype: object
>> caffee[-1] # ์ธ๋ฑ์ค -1์ ๋ง์ง๋ง ์์๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
'No'
>> caffee[0:3] # ์์ ์์น ์ธ๋ฑ์ค : ๋ ์์น ๋ค์ ์ธ๋ฑ์ค
americano 30
latte 50
cappucino Yes
dtype: object
>> caffee['latte':'einspenner'] # ์์ ์์น ๋ ์ด๋ธ : ๋ ์์น ๋ ์ด๋ธ
latte 50
cappucino Yes
einspenner No
dtype: object
ํ๋ค์ค ์๋ฆฌ์ฆ์ ์ฐ์ ์ฐ์ฐ
ํ๋ค์ค ์๋ฆฌ์ฆ์์ ์ฐ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค.
>> Index = ['americano','latte','cappucino','einspenner']
>> data = [30,50,20,10]
>> caffee = pd.Series(data =data , index = index)
>> caffee
americano 30
latte 50
cappucino 20
einspenner 10
dtype: object
>> caffee = caffee +5 # caffee ์ ์ฒด ์๋ฆฌ์ฆ ์์์ +5
>> caffee
americano 35
latte 55
cappucino 25
einspenner 15
dtype: object
>> caffee['americano'] -= 2 # amricano ๋ ์ด๋ธ ํด๋น ์์๋ง -2
>>caffee
americano 33
latte 55
cappucino 25
einspenner 15
dtype: object
>> caffee[['latte','cappucino']] -= 3
>> caffee
americano 33
latte 52
cappucino 22
einspenner 15
dtype: object