Python/Python Language 18

Pandas(ํŒ๋‹ค์Šค) 1์ฐจ์› 2์ฐจ์› ์ƒ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ

Pandas [Panel Data + Python Data Analysis] NumPy and Matplotlib๋ฅผ ํ†ตํ•ฉํ•œ ๊ฒƒ์ด๋‹ค๋ฐ์ดํ„ฐ์…‹๋“ค์„ merge(๋ณ‘ํ•ฉ) ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๊ธฐ๋ณธ์ ์ธ ํ†ต๊ณ„๋ฐ์ดํ„ฐ ์ œ๊ณตNaN values ๋ฅผ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค์ˆซ์ž ๋ฌธ์ž์—ด์„ ์•Œ์•„์„œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค์ง€์ €๋ถ„ํ•œ ๋ฐ์ดํ„ฐ์„ธํŠธ๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ด€๋ จ์„ฑ์žˆ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค ๊ณ ๊ธ‰ => ์ƒ๊ด€๊ด€๊ณ„, ํ”Œ๋กœํŒ…    ์„ค์น˜ pip install pandas  ํŒ๋‹ค์Šค์˜ 1์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ => ์‹œ๋ฆฌ์ฆˆ(Serise)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹คํŒ๋‹ค์Šค์˜ 2์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ = > ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„(DataFrame)์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค  1์ฐจ์› ๋ฐ์ดํ„ฐ : ์‹œ๋ฆฌ์ฆˆ (Serise)  x = pd.Series(data = data, index = index)eggs ..

Python(ํŒŒ์ด์ฌ) ํ•จ์ˆ˜ def ์‚ฌ์šฉํ•˜๊ธฐ

ํ•จ์ˆ˜ :ํ•จ์ˆ˜๋Š” ์ฝ”๋”ฉํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ํšจ์œจ์„ฑ, ํŽธ์˜์„ฑ์„ ๊ฐ€์ ธ๋‹ค์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค  ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์—์„  function, ํ•จ์ˆ˜๋ช… () => java method, ํŒŒ์ด์„ ์—์„œ๋Š” def์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค ๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๊ณ  ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค ํ˜ธ์ถœ๋  ๋•Œ๋งŒ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ธ”๋ก์ด๋‹ค. ๊ฒฐ๊ณผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์–ด๋–ค ์–ธ์–ด์—์„œ๋“  ํ˜ธ์ถœํ•œ๋‹ค ํŒŒ์ด์„ ๋„ ์žฌ๊ท€ํ•จ์ˆ˜(ํ•จ์ˆ˜ ์Šค์Šค๋กœ ์ž์‹ ์„ ํ˜ธ์ถœ)๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค  def my_function(): #ํ•จ์ˆ˜ ํ•จ์ˆ˜๋ช… print("ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœํ• ๋•Œ ์‹คํ–‰") #์ฝ”๋“œ๋ธ”๋Ÿญmy_function() #ํ•จ์ˆ˜๋ช…์„ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์จ์ฃผ๋Š” ๊ฒƒ์„ ํ˜ธ์ถœ์ด๋ผ๊ณ  ํ•œ๋‹ค  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ "ํŒŒ๋ผ๋ฏธํ„ฐ"๋ผ๊ณ  ํ•˜๊ณ ,  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆ˜๋ฅผ "์ธ์ˆ˜"๋ผ๊ณ  ํ•œ๋‹ค ํ•จ์ˆ˜์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜์ •์˜..

์กฐ๊ฑด๋ฌธ (if, elif, else) ์ž‘์„ฑํ•˜๊ธฐ

a, b = 33, 33 if b > a:         #1) ์ฐธ์ธ ๊ฒฝ์šฐ    print("b is greater than a") elif a >= b:     #2) 1๋ฒˆ ์กฐ๊ฑด์ด ์ฐธ์ด ์•„๋‹Œ๊ฒฝ์šฐ ์‹คํ–‰ํ•  another์กฐ๊ฑด    print("Nop") else:               #3) ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ    print("same same")  ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž and-๋‘ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ด์–ด์•ผ True ์ž…๋‹ˆ๋‹คif num1 > 0 and num2 > 0: print("๋‘ ์ˆซ์ž ๋ชจ๋‘ ์–‘์ˆ˜์ž…๋‹ˆ๋‹ค.") else: print("ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๊ฐ€ ์–‘์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.")  ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž or-๋‘ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋งŒ ์ฐธ์ด์–ด๋„ True ์ž…๋‹ˆ๋‹ค    if num > 10 or num   ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž not-..

Python ๋ฐ˜๋ณต๋ฌธ(for, while) ์ž‘์„ฑํ•˜๊ธฐ

๋ฐ˜๋ณต๋ฌธํŒŒ์ด์ฌ์—๋Š” ๋‘๊ฐ€์ง€ ๊ธฐ๋ณธ ๋ฃจํ”„๋ช…๋ น์ด ์žˆ์Šต๋‹ˆ๋‹ค-while -for  while# break๋ฌธ : ์ง€์ •๋œ ์ˆซ์ž์—์„œ ์ค‘์ง€ํ•œ๋‹คw = 1while w   #continue Statement : ์ง€์ •๋œ ์ˆซ์ž๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ง€์ •๋œ ๋ฒ”์œ„๊นŒ์ง€ ๊ณ„์†ํ•œ๋‹คcont = 0while cont   forFor๋Š” ์‹œํ€€์Šค(๋ชฉ๋ก,ํŠœํ”Œ,์‚ฌ์ „,์ง‘ํ•ฉ ๋˜๋Š” ๋ฌธ์ž์—ด)์„ ๋ฐ˜๋ณตํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹คfruits = ["apple","banana","cherry"]for z in fruits: if z == "banana": break print(z) => ๊ฒฐ๊ณผ : "apple","banana"  range ์‚ฌ์šฉํ•˜๊ธฐ for i in range(3) : print("๋น„ํŠธ์ฝ”์ธ") ๊ฒฐ๊ณผ๋น„ํŠธ์ฝ”์ธ๋น„ํŠธ์ฝ”์ธ๋น„ํŠธ์ฝ”์ธ  for i in range..

๋ฐ์ดํ„ฐ ์ŠคํŠธ๋Ÿญ์ณ(data structure) : dictionary ๋”•์…”๋„ˆ๋ฆฌ ํ•™์Šตํ•˜๊ธฐ

#๋ฐ์ดํ„ฐ ์ŠคํŠธ๋Ÿญ์ณ (data structure)์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ์ €์žฅ CRUD  : ์‹ ๊ทœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€, ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ณ , ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝ, ๋ฐ์ดํ„ฐ ์‚ญ์ œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๊ธฐicecream = { '๋ฉ”๋กœ๋‚˜' : 1000, 'ํด๋ผํฌ' : 1200, '๋นต๋น ๋ ˆ' :1800 } ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐicecream['์ฃ ์Šค๋ฐ”'] = 1200icecream['์›”๋“œ์ฝ˜'] = 1500 ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐicecream['๋ฉ”๋กœ๋‚˜']1000 '๋ฉ”๋กœ๋‚˜ ๊ฐ€๊ฒฉ: ' + str( icecream['๋ฉ”๋กœ๋‚˜'] )'๋ฉ”๋กœ๋‚˜ ๊ฐ€๊ฒฉ: 1000' '๋ฉ”๋กœ๋‚˜ ๊ฐ€๊ฒฉ: {}'.format( icecream['๋ฉ”๋กœ๋‚˜'] )'๋ฉ”๋กœ๋‚˜ ๊ฐ€๊ฒฉ: 1000' ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐicecream['๋ฉ”๋กœ๋‚˜'] = 1300  ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐdel ic..

Python์˜ 4๊ฐ€์ง€ ๋‚ด์žฅ ๋ฐ์ดํ„ฐ ์œ ํ˜• (List,Tuple, Set, Dictionary)

Python์˜ 4๊ฐ€์ง€ ๋‚ด์žฅ ๋ฐ์ดํ„ฐ ์œ ํ˜• (List,Tuple, Set, Dictionary)- ๋ฐ์ดํ„ฐ์ปฌ๋ ‰์…˜์„ ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค-๋ชจ๋‘ ํ’ˆ์งˆ๊ณผ ์šฉ๋„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค List๋‹จ์ผ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค๋Œ€๊ด„ํ˜ธ[ ]๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค ์ˆœ์„œ๊ฐ€ ์ง€์ •๋˜๊ณ  ๋ณ€๊ฒฝ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ค‘๋ณต ๊ฐ’์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค ์ƒ‰์ธ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค์ •๋ ฌ๋˜์–ด ์žˆ์–ด์„œ ์ •์˜๋œ ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ  ํ•ด๋‹น์ˆœ์„œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค์ƒˆ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ƒˆํ•ญ๋ชฉ์ด ๋ชฉ๋ก์— ๋์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค๋ชจ๋“  ๋ฐ์ดํ„ฐ์œ ํ˜•์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹คํŒŒ์ด์„ ์˜ ๊ด€์ ์—์„œ list๋Š” ๋ฐ์ดํ„ฐ์œ ํ˜•์„ ๊ฐ€์ง„ ๊ฐœ์ฒด๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค  tuple๋‹จ์ผ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹คํŠœํ”Œ์€ ์ˆœ์„œ๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ์•ˆ๋ฉ๋‹ˆ๋‹ค ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๊ณต์ •์„ ๊ฑฐ์ณ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค๋‘ฅ๊ทผ ๊ด„ํ˜ธ( )๋กœ ์ž‘์„ฑ๋ฉ..

ํŒŒ์ด์ฌ(Python)์˜ ๋ณ€์ˆ˜(Variables)์™€ ์—ฐ์‚ฐ์ž(operator)

Variables [๋ณ€์ˆ˜:๋งŽ์€์ˆ˜์ด๊ณ  ๋ณ€ํ•˜๋Š” ์ˆ˜์—ฌ์„œ ๋ณ€์ˆ˜๋ผ ์นญํ•ฉ๋‹ˆ๋‹ค] ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ปจํ…Œ์ด๋„ˆ ์ž…๋‹ˆ๋‹ค ํŒŒ์ด์ฌ์—๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ช…๋ น์ด ์—†์Šต๋‹ˆ๋‹ค ๋ณ€์ˆ˜๋Š” ์ฒ˜์Œ ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ์ˆœ๊ฐ„์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค ์ˆซ์ž [int], ๋ฌธ์ž์—ด[string], ์†Œ์ˆ˜์ [float] int, str, float ๋ณ€์ˆ˜์— ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ง€์ •ํ•˜๋ ค๋ฉด ์บ์ŠคํŒ…์„ ์‚ฌ์šฉ๋ณ€์ˆ˜์— ์‚ฌ์šฉํ–ˆ๋˜ ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ๋ช…์นญ์€ ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ํ…์ŠคํŠธ ์œ ํ˜• : str ์ˆซ์ž ์œ ํ˜• : int, float, complex ์‹œํ€€์Šค ์œ ํ˜• : list, tuple, range ๋งคํ•‘ ์œ ํ˜• : dict ์„ธํŠธ ์œ ํ˜• : set, frozenset ๋ถ€์šธ ์œ ํ˜• : bool ๋ฐ”์ด๋„ˆ๋ฆฌ ์œ ํ˜• : bytes, bytearray, memoryview ์—†์Œ ์œ ํ˜• : NoneType  ..

๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ์™€ ์—ฐ์‚ฐ

anaconda prompt์—์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์‹คํ–‰ํ•˜๊ธฐ>> jupyter notebook . Save and Load datanp.save('์ง€์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ๋ช…', X)np.load(' ์ง€์ •ํ•œ ํŒŒ์ผ๋ช….npy ') ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑํ•˜๊ธฐscore_list = [100, 90, 75, 66, 98] ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐscore_list.append(58)score_list.append(87) ๋ฆฌ์ŠคํŠธ ๋ณ€๊ฒฝํ•˜๊ธฐ score_list[0] = 99 ๋ฆฌ์ŠคํŠธ ์‚ญ์ œํ•˜๊ธฐdel score_list[5] ๊ฒฐ๊ณผ[99, 90, 75, 66, 98, 87] ํ‰๊ท ๊ตฌํ•˜๊ธฐsum(score_list) / len(score_list)         ๊ฒฐ๊ณผ : 85.6 ํ‰๊ท  ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋กœ ํ‰๊ท ๊ตฌํ•˜๊ธฐscore_list.mean() ํ‘œ์ค€ํŽธ์ฐจ ๊ตฌํ•˜๊ธฐsco..