๐Ÿผ Pandas๋กœ ๋ฐ์ดํ„ฐ ๋งˆ์ˆ  ๋ถ€๋ฆฌ๊ธฐ: Index, to_numpy, astype ์™„์ „ ์ •๋ณต!

 ์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฐ์ดํ„ฐ ๋งˆ๋ฒ•์‚ฌ ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ Pandas์˜ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋“ค์ธ Index, to_numpy, astype์— ๋Œ€ํ•ด ๊นŠ์ด ํŒŒํ—ค์ณ ๋ณผ ๊ฑฐ์˜ˆ์š”. ์ด ๋„๊ตฌ๋“ค๋งŒ ์ œ๋Œ€๋กœ ์•Œ์•„๋„ ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ์ ˆ๋ฐ˜์€ ๋งˆ์Šคํ„ฐํ•œ ๊ฑฐ๋‚˜ ๋‹ค๋ฆ„์—†๋‹ต๋‹ˆ๋‹ค! ์ž, ๊ทธ๋Ÿผ ์‹ ๋‚˜๋Š” ๋ฐ์ดํ„ฐ ์—ฌํ–‰์„ ๋– ๋‚˜๋ณผ๊นŒ์š”? ๐Ÿš€


 1. Pandas: ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ๋“ ๋“ ํ•œ ์นœ๊ตฌ ๐Ÿค


Pandas๋Š” ํŒŒ์ด์ฌ์—์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ํ•  ๋•Œ ์—†์–ด์„œ๋Š” ์•ˆ ๋  ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ˆ์š”. ํŠนํžˆ DataFrame๊ณผ Series๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜์ฃ . ์ด๋“ค์€ ๋งˆ์น˜ ์—‘์…€ ์‹œํŠธ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ฃผ๋Š” ๋งˆ๋ฒ•์‚ฌ ๊ฐ™์€ ์กด์žฌ๋ž๋‹ˆ๋‹ค!


```python

import pandas as pd


# ๊ฐ„๋‹จํ•œ DataFrame ๋งŒ๋“ค๊ธฐ

data = {'์ด๋ฆ„': ['๊น€์ฒ ์ˆ˜', '์ด์˜ํฌ', '๋ฐ•๋ฏผ์ค€'],

        '๋‚˜์ด': [25, 32, 28],

        '์ง์—…': ['๊ฐœ๋ฐœ์ž', '๋””์ž์ด๋„ˆ', '๋งˆ์ผ€ํ„ฐ']}

df = pd.DataFrame(data)

print(df)

```


์ด๋ ‡๊ฒŒ ๋งŒ๋“  DataFrame์€ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ƒํ™œ์—์„œ ๋ณด๋Š” ํ‘œ์™€ ๋˜‘๊ฐ™์ด ์ƒ๊ฒผ์–ด์š”. ์‹ ๊ธฐํ•˜์ฃ ? ๐Ÿ˜ฎ


 2. Index: ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ์ •ํ•ด์ฃผ๋Š” ํŠน๋ณ„ํ•œ ์กด์žฌ ๐Ÿ 


Index๋Š” DataFrame์ด๋‚˜ Series์˜ ๊ฐ ํ–‰์— ๋ถ™๋Š” ์ด๋ฆ„ํ‘œ ๊ฐ™์€ ๊ฑฐ์˜ˆ์š”. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž๊ฐ€ ๋ถ™์ง€๋งŒ, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์š”!


```python

# ์ปค์Šคํ…€ ์ธ๋ฑ์Šค ์‚ฌ์šฉํ•˜๊ธฐ

df = pd.DataFrame(data, index=['A', 'B', 'C'])

print(df)

```


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ ํ–‰์— A, B, C๋ผ๋Š” ์ด๋ฆ„ํ‘œ๊ฐ€ ๋ถ™์–ด์š”. ๋งˆ์น˜ ์šฐ๋ฆฌ ์ง‘ ์ฃผ์†Œ์ฒ˜๋Ÿผ, ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฑฐ์ฃ ! ๐Ÿ”


 3. to_numpy: Pandas์™€ NumPy์˜ ํ™˜์ƒ์˜ ์ฝœ๋ผ๋ณด ๐Ÿค


to_numpy๋Š” Pandas์˜ DataFrame์ด๋‚˜ Series๋ฅผ NumPy ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋งˆ๋ฒ• ๊ฐ™์€ ๋ฉ”์„œ๋“œ์˜ˆ์š”. NumPy๋Š” ์ˆ˜์น˜ ๊ณ„์‚ฐ์— ํŠนํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๋ฐ, Pandas์™€ ์ฐฐ๋–ก๊ถํ•ฉ์ด๋ž๋‹ˆ๋‹ค!


```python

# DataFrame์„ NumPy ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜

numpy_array = df.to_numpy()

print(numpy_array)

```


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด DataFrame์ด ์ˆœ์‹๊ฐ„์— NumPy ๋ฐฐ์—ด๋กœ ๋ณ€์‹ ! ๋งˆ์น˜ ๋ณ€์‹  ๋กœ๋ด‡ ๊ฐ™์ฃ ? ๐Ÿค–


 4. astype: ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜์˜ ๋งˆ๋ฒ•์‚ฌ ๐Ÿง™‍♂️


astype์€ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์˜ˆ์š”. ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ, ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ, ์‹ฌ์ง€์–ด๋Š” ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋กœ๋„ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค!


```python

# ๋‚˜์ด ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

df['๋‚˜์ด'] = df['๋‚˜์ด'].astype(str)

print(df.dtypes)

```


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚˜์ด ์—ด์ด ์ˆซ์ž์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€์‹ ! ๋งˆ์น˜ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์ง€ํŒก์ด๋ฅผ ํœ˜๋‘๋ฅธ ๊ฒƒ ๊ฐ™์ฃ ? ✨


 5. ์‹ค์ „ ํŒ: ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ์˜ ํ™˜์ƒ์ ์ธ ์ฝœ๋ผ๋ณด ๐ŸŽญ


์ด ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋ง ๋†€๋ผ์šด ์ผ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค:


```python

# ๋Œ€์šฉ๋Ÿ‰ CSV ํŒŒ์ผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ

chunk_iter = pd.read_csv('big_data.csv', chunksize=10000)


for chunk in chunk_iter:

    # ํ•„์š”ํ•œ ์—ด๋งŒ ์„ ํƒํ•˜๊ณ  ํƒ€์ž… ๋ณ€ํ™˜

    processed = chunk[['์ค‘์š”์—ด1', '์ค‘์š”์—ด2']].astype({'์ค‘์š”์—ด1': 'float32', '์ค‘์š”์—ด2': 'category'})

    

    # NumPy ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ถ”๊ฐ€ ์ฒ˜๋ฆฌ

    numpy_data = processed.to_numpy()

    # ์—ฌ๊ธฐ์„œ numpy_data๋ฅผ ์‚ฌ์šฉํ•ด ์ถ”๊ฐ€ ์—ฐ์‚ฐ ์ˆ˜ํ–‰

```


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋„ ๊ฑฐ๋œฌํžˆ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋งˆ์น˜ ๊ฑฐ๋Œ€ํ•œ ์ฝ”๋ผ๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‹ค์€ ์ž‘์€ ์ฅ๋“ค์„ ์ฐจ๋ก€์ฐจ๋ก€ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ต๋‹ˆ๋‹ค! ๐Ÿ˜➡️๐Ÿ๐Ÿ๐Ÿ


 ๋งˆ๋ฌด๋ฆฌ: ์—ฌ๋Ÿฌ๋ถ„๋„ ์ด์ œ ๋ฐ์ดํ„ฐ ๋งˆ๋ฒ•์‚ฌ! ๐ŸŽ‰


์ž, ์–ด๋– ์„ธ์š”? Index, to_numpy, astype๋งŒ ์ œ๋Œ€๋กœ ์•Œ์•„๋„ ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ํ•œ๊ฒฐ ์‰ฌ์›Œ์ง€์ฃ ? ์ด ๋„๊ตฌ๋“ค์„ ๋งˆ์Šคํ„ฐํ•˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋„ ์–ด๋А์ƒˆ ๋ฐ์ดํ„ฐ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ๋˜์–ด ์žˆ์„ ๊ฑฐ์˜ˆ์š”!


๋ฐ์ดํ„ฐ๋Š” 21์„ธ๊ธฐ์˜ ์ƒˆ๋กœ์šด ์„์œ ๋ผ๊ณ  ํ•˜์ž–์•„์š”. ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์œ ์ž์žฌ๋กœ ๋‹ค๋ฃจ๋Š” ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฏธ๋ž˜์˜ ์ฃผ์ธ๊ณต์ด ๋  ๊ฑฐ์˜ˆ์š”. ์ž, ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„๋งŒ์˜ ๋ฐ์ดํ„ฐ ๋ชจํ—˜์„ ๋– ๋‚˜๋ณผ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค! ๐Ÿš€✨





#Pandas #๋ฐ์ดํ„ฐ๋ถ„์„ #Python #DataScience #Index #to_numpy #astype #๋ฐ์ดํ„ฐ๋งˆ๋ฒ•์‚ฌ #PandasTutorial #๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ #ํŒŒ์ด์ฌ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ #NumPy #DataFrame #Series #๋ฐ์ดํ„ฐ๋ณ€ํ™˜ #PythonProgramming #๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด๋ง #BigData #MachineLearning #AI #๋ฐ์ดํ„ฐ์‹œ๊ฐํ™” #์ฝ”๋”ฉํŠœํ† ๋ฆฌ์–ผ #ํ…Œํฌ๋ธ”๋กœ๊ทธ #ํ”„๋กœ๊ทธ๋ž˜๋ฐํŒ #๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค์ž…๋ฌธ #ํŒŒ์ด์ฌ์ดˆ๋ณด #๋ฐ์ดํ„ฐ๋ถ„์„๊ธฐ์ดˆ #PandasTips #ํšจ์œจ์ ์ธ์ฝ”๋”ฉ


0 ๋Œ“๊ธ€