๐Ÿ“’ Today I Learn/๐Ÿ Python

์•Œ๋ฉด ์œ ์šฉํ•œ ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• (1) ํŒŒ์ด์ฌ ํŒŒ์ผ ์ €์žฅํ•˜๊ธฐ, ํŒจํ‚ค์ง€ ์‚ฌ์šฉํ•˜๊ธฐ, ํฌ๋งทํŒ…

ny:D 2024. 5. 7. 15:44

ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋ฐ ์ €์žฅํ•˜๊ธฐ

ํ™•์žฅ์ž์— ๋”ฐ๋ฅธ ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • csv ํŒŒ์ผ
import pandas as pd
df = pd.read_csv('file.csv')
  • excel ํŒŒ์ผ
python
import pandas as pd
df = pd.read_excel('file.xlsx')
  • txt ํŒŒ์ผ
import pandas as pd
df = pd.read_csv('file.txt', delimiter='\t')

→ ๋งŒ์•ฝ ํƒญ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋‹ค๋ฉด `delimiter='\t'`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ €์žฅํ•˜๊ธฐ

  • csv ํŒŒ์ผ ์ €์žฅํ•˜๊ธฐ
import pandas as pd
df = pd.DataFrame(data)
df.to_csv(ํŒŒ์ผ ๊ฒฝ๋กœ, index = False)
  • txt ํŒŒ์ผ ์ €์žฅํ•˜๊ธฐ
with open(ํ…์ŠคํŠธํŒŒ์ผ ์ €์žฅํ•  ๊ฒฝ๋กœ, 'w') as ํŒŒ์ผ๋ช…:
    for key, item in data.items():
        textfile.write(str(key) + " : " + str(item) + '\n')

→  key ์™€ item์„ ๊ฐ๊ฐ string ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ํ•œ ์ค„ ์”ฉ ๋„์›Œ์„œ(\n) ์ €์žฅ

 

ํŒจํ‚ค์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

ํŒจํ‚ค์ง€๋ž€?

๐Ÿ˜ƒ ํŒจํ‚ค์ง€ : ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋“ˆ์„ ํฌํ•จํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ
  • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ์ „์ฒ˜๋ฆฌ, ์‹œ๊ฐํ™”, ๋ชจ๋ธ๋ง, ํ†ต๊ณ„ ๋ถ„์„ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
  • ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ , ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š”๋ฐ ๋„์›€

ํŒจํ‚ค์ง€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import ํŒจํ‚ค์ง€๋ช… as ๋ณ„๋ช…

→ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒจํ‚ค์ง€์— ์žˆ๋Š” ํŠน์ • ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜๋„ ์žˆ์Œ

from sklearn.datasets import load_iris

๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํŒจํ‚ค์ง€

๐Ÿง ๋ฐ์ดํ„ฐ ๋ถ„์„ ํŒจํ‚ค์ง€

๐Ÿผ Pandas  : ๋ฐ์ดํ„ฐ ์กฐ์ž‘๊ณผ ๋ถ„์„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์กฐ์ž‘ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ
import pandas as pdโ€‹
๐Ÿฅง numpy : ๊ณผํ•™์  ๊ณ„์‚ฐ์„ ์œ„ํ•œ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋‹ค์ฐจ์› ๋ฐฐ์—ด๊ณผ ํ–‰๋ ฌ ์—ฐ์‚ฐ์„ ์ง€์›
import numpy as np

 

๐ŸŽจ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ํŒจํ‚ค์ง€

๐Ÿ“Š matplotlib : ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„์™€ ํ”Œ๋กฏ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
import matplotlib.pyplot as plt
๐Ÿฆญ seaborn : Matplotlib์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ†ต๊ณ„์šฉ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ณด๋‹ค ๊ฐ„ํŽธํ•˜๊ณ  ์•„๋ฆ„๋‹ค์šด ์‹œ๊ฐํ™”๋ฅผ ์ œ๊ณต
import seaborn as sns

 

๐Ÿง  ๋”ฅ๋Ÿฌ๋‹

๐ŸŒŠ Tensorflow : ๋”ฅ๋Ÿฌ๋‹ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜์˜ ๊ณ„์‚ฐ์„ ํ†ตํ•ด ์ˆ˜์น˜ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

 

import tensorflow as tf
๐Ÿ”ฅ Pytorch : ๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, Facebook์—์„œ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์  ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์ถ•ํ•˜๊ณ  ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.
import torch
import torch.nn as nn

ํฌ๋งทํŒ…(formatting) ๋ฐฉ๋ฒ•

x ๊ฐ€ 10์ด๋ผ๊ณ  ํ•  ๋•Œ, `๋ณ€์ˆ˜ x์˜ ๊ฐ’์€ (10)์ž…๋‹ˆ๋‹ค.`๋ผ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•ด๋ณด์ž. (๋‹จ, x๊ฐ’์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•ด์•ผํ•œ๋‹ค.)

๐ŸŽ–๏ธ f-string

ํŒŒ์ด์ฌ 3.6 ์ด์ƒ์—์„œ๋งŒ ๊ฐ€๋Šฅ

x = 10
print(f"๋ณ€์ˆ˜ x์˜ ๊ฐ’์€ {x}์ž…๋‹ˆ๋‹ค.")

→ ๋”ฐ์˜ดํ‘œ ์•ž์— f๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๊ณ  ํฌ๋งทํŒ…ํ•  ๊ฐ’(์ด ๊ฒฝ์šฐ x)์„ ์ค‘๊ด„ํ˜ธ{} ์•ˆ์— ๋„ฃ์–ด์ค€๋‹ค.

format ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ

x = 10
print("๋ณ€์ˆ˜ x์˜ ๊ฐ’์€ {}์ž…๋‹ˆ๋‹ค.".format(x))

→ ๋”ฐ์˜ดํ‘œ ์•ˆ์— ์ถœ๋ ฅํ•  ํฌ๋งท์„ ์ž…๋ ฅํ•˜๊ณ , ํฌ๋งทํŒ…ํ•  ๊ฐ’(์ด ๊ฒฝ์šฐ x)์˜ ์ž๋ฆฌ์— {}์ค‘๊ด„ํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

→ ํ•ด๋‹น ๋ฌธ์žฅ์˜ ๋’ค์— `.format(ํฌ๋งทํŒ…ํ•  ๊ฐ’)`์„ ๋„ฃ์–ด์ฃผ๋ฉด ์™„์„ฑ

 

% ์‚ฌ์šฉํ•˜๊ธฐ

x = 10
print("๋ณ€์ˆ˜ x์˜ ๊ฐ’์€ %d์ž…๋‹ˆ๋‹ค." % (x))

→ ๋”ฐ์˜ดํ‘œ ์•ˆ์— ์ถœ๋ ฅํ•  ํฌ๋งท์„ ์ž…๋ ฅํ•˜๊ณ , ํฌ๋งทํŒ…ํ•  ๊ฐ’์˜ ์ž๋ฆฌ์— %s ๋˜๋Š” %d(๋ฌธ์ž์ธ ๊ฒฝ์šฐ %s, ์ˆซ์ž์ธ ๊ฒฝ์šฐ %d)๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

→ ํ•ด๋‹น ๋ฌธ์žฅ์˜ ๋’ค์— `% (ํฌ๋งทํŒ…ํ•  ๊ฐ’)`์„ ๋„ฃ์–ด์ฃผ๋ฉด ์™„์„ฑ