2020 μλͺ Women IN Engineering
νμ΄μ¬μΌλ‘ λ°°μ°λ λ°μ΄ν° μκ°ν κ°μλ΄μ© μ°Έκ³
μλͺ μ¬μλνκ΅ κΈ°μ΄κ΅μλν μ΅ν©νλΆ λ°μλ―Όκ΅μλ | 곡νλ°μ¬
1. Numpy λΆμ ν¨μ
- numpy ν¨μ κ°μ
numpy (numerical python) : κ³Όνκ³μ°μ μνμ΄μ¬ λ°μ΄ν° λΆμ ν¨ν€μ§, λ€μ°¨μ λ°°μ΄μ μ²λ¦¬νλλ° νμν μ¬λ¬ μ μ©ν κΈ°λ₯ μ 곡, λ°μ΄ν° λΆμμ μν΄μλ pandasμ ν¨κ» νμμ μΌλ‘ μμ§ν΄μΌνλ ν¨ν€μ§
λ€μ°¨μλ°°μ΄ (ndarray) : κ°μ μλ£νμ λ°μ΄ν°λ₯Ό λ΄μ μ μλ ν¬κ΄μ μΈ λ€μ°¨μ λ°°μ΄, ndarrayμ λͺ¨λ μμλ κ°μ μλ£νλ§ μ¬μ©κ°λ₯νλ©° λ°°μ΄μ μ°¨μμ rankλΌ νκ³ , κ° μ°¨μμ ν¬κΈ°λ₯Ό ννλ‘ νμνλ κ²μ shapeλΌκ³ νλ€
- numpy ν¨μ λ€λ£¨κΈ°
numpy λ°°μ΄ μμ±
λͺ λ μ΄ : np.array (리μ€νΈ ννλ‘ λ°μ΄ν° μ λ ₯)
λ°°μ΄ λ§λ€κΈ° : μ°μλκ±°λ μΌμ ν κ·μΉμ κ°μ§ μ«μ λλ ν μ΄ν° νμ λͺ μ
λͺ λ Ήμ΄ : np.arrange (μμκ°, λκ°, κ°κ²©) or np.arrange (λκ°)
νλ ¬λ§λ€κΈ°
λͺ λ Ήμ΄ : np.reshape (ν, μ΄, μ°¨μ order = 'C' or 'F')
order = 'C' : κ°μ νλΆν° μ±μλ£μ (κΈ°λ³Έκ°, μλ΅κ°λ₯), order = 'F' : κ°μ μ΄λΆν° μ±μλ£μ
νλ ¬κ³μ° np.add : λ§μ , np.subtract : λΊμ , np.multiply : κ³±μ , np.dot : νλ ¬μ°μ°
λ€μ°¨μλ°°μ΄ λ§λ€κΈ°
λͺ λ Ήμ΄ : np.reshape (ν, μ΄, μ°¨μ order = 'C' or 'F')
order = 'C' : κ°μ νλΆν° μ±μλ£μ (κΈ°λ³Έκ°, μλ΅κ°λ₯), order = 'F' : κ°μ μ΄λΆν° μ±μλ£μ
λ€μ°¨μ λ°°μ΄μμ μμμ μ΅λκ° λ° μ΅μκ° λ°ν _ λͺ λ Ήμ΄ : np.amax : μ΅λκ°, np.amin : μ΅μκ°
λ€μ°¨μ λ°°μ΄μμ λ°μ΄ν° νμ νμΈ _ λͺ λ Ήμ΄ : λ³μλͺ .dtype
λ€μ°¨μ λ°°μ΄μμ ν, μ΄, μ°¨μ νμΈ _ λͺ λ Ήμ΄ : λ³μλͺ .shape
- numpy μ 곡 ν¨μ
abs, fabs : μ λκ°μ 리ν΄, 볡μμκ° μλ κ²½μ°μλ λΉ λ₯Έ μ°μ°μ μν΄ fabs μ΄μ© numpy.abs(arr)
sqrt : μ κ³±κ·Ό κ³μ° numpy.sqrt(arr)
square : μ κ³±κ³μ° numpy.square(arr)
exp : μ§μκ³μ° numpy.exp(arr)
Log : λ‘κ·Έκ³μ° numpy.Log(arr)
add : λ λ°°μ΄μ λνλ€ numpy.add(arr1, arr2)
subtract : 첫λ²μ§Έ λ°°μ΄μμ λλ²μ§Έ λ°°μ΄μ λΊλ€ numpy.subtract(arr1, arr2)
multiply : λ λ°°μ΄μ κ³±νλ€ numpy.multiply(arr1, arr2)
2. Pandas ν¨μμ λ°μ΄ν° λ€λ£¨κΈ°
- pandas ν¨μ κ°μ
pandas : μλ£κ΅¬μ‘° λ° λ°μ΄ν° λΆμ/μ²λ¦¬λ₯Ό μν νμ΄μ¬ ν¨ν€μ§, κΈ°λ³Έμ μΌλ‘ μ μλλ μλ£κ΅¬μ‘°μΈ Seriesμ DataFrameμ¬μ©
Series : indexμ valueμ ννλ₯Ό κ°κ³ μλ pandasμ μλ£κ΅¬μ‘°, Seriesμ indexμ valueλ‘ κ΅¬μ±λλ€λ μ μμ valueλ§ κ°λ 리μ€νΈμ ꡬλΆ, indexλ κΈ°λ³Έκ°μΌλ‘ 0, 1, 2, 3 ... μΌλ‘ μλμμ±
- DataFrameκ³Ό λ°μ΄ν° λΆλ¬μ€κΈ°
1 ) DataFrameκ³Ό λ°μ΄ν° νμΌ λΆλ¬μ€κΈ°
import pandas as pd
df = pd.read_csv('file name.csv') CSV νμΌ λΆλ¬ μ¬ κ²½μ°
df = pd.read_excel('file name.xlsx) Excel νμΌ λΆλ¬ μ¬ κ²½μ°
df
μμ κ³Ό κ°μ΄ μ«μ, λ¬Έμ λ± λ€μν λ°μ΄ν°λ₯Ό νλμ νμ λ΄μ μ μλ μλ£κ΅¬μ‘°
κ° μ΄μ μλ‘ λ€λ₯Έ μλ£νμ΄ λ μ μκ³ μ΄ μ΄λ¦, ν μ΄λ¦μ κ°μ§λ€
2 ) DataFramerκ³Ό λ°μ΄ν° μ΄ν΄λ³΄κΈ°
df.head() : λ°μ΄ν° μ λͺκ°μ ν λΆλ¬μ΄, κ³΅λ°±μΈ κ²½μ° 5κ°
df.tail() : λ°μ΄ν° λ€ λͺκ°μ ν λΆλ¬μ΄, κ³΅λ°±μΈ κ²½μ° 5κ°
df[1:6] : 1μμ 5κΉμ§ μΆλ ₯
λͺ λ Ήμ΄ : λ³μλͺ [μ²μ μΆλ ₯ν ν : λ§μ§λ§μΌλ‘ μΆλ ₯ν ν + 1]
λ°μ΄ν°νλ μ νΉμ μ΄ λΆλ¬μ€κΈ° : df['amount'], df[df.columns[[1, 3, 10]]], df.loc[:, 'decision':'location']
3 ) DataFrameκ³Ό λ°μ΄ν° λ³ννκΈ°
볡μ¬, μΆκ° , μμ : df_columns = df.copy(), df_columns.columns, df_columns = df_columns[['a', 'b', 'c']], df_olumns.head()
λ³μμ΄λ¦ λ³κ²½, ν μΆκ° λ° μμ : df_columns.rename(columns={'a' : 'b'}, inplace=True), df['a'] = df['b']*1.1, del df['a']
λ°μ΄ν° μΌμ΄μ€ μΆμΆ : df_a = df[(df['a']=1)], df_a : a μ€ 1λ§ μΆμΆνμ¬ λ³λμ νλ μ λ§λ€κΈ°
3. λΆμλ°μ΄ν° μ΄ν΄λ³΄κΈ°
- μ€μ΅μ© λ°μ΄ν° λλ¬λ³΄κΈ°
λ°μ΄ν° μμ±
λΆμλͺ¨ν
- μλ£μ λΆμ κ°μ κ΄κ³
μ²λμ μ’ λ₯ : λͺ λͺ©μ²λ, μμ΄μ²λ, λ±κ°μ²λ, λΉμ¨μ²λ
μλ£μ νκ³Ό λΆμ λ°©λ² :
μ²λμ λΆμκ°μ κ΄κ³ | λ 립λ³μ | ||
λ²μ£Όν μλ£ | μ°μν μλ£ | ||
μ’ μλ³μ | λ²μ£Όν μλ£ | κ΅μ°¨λΆμ |
λ‘μ§μ€ν± νκ·λΆμ, νλ³λΆμ, κ΅°μ§λΆμ |
μ°μν μλ£ | t-test, λΆμ°λΆμ | μκ΄κ΄κ³λΆμ, μ ννκ·λΆμ |
κ΅μ°¨λΆμ : λ 립λ³μμ μ’ μλ³μκ° λͺ¨λ λ²μ£ΌνμΈ κ²½μ° λ λ³μκ°μ κ΄κ³λ₯Ό νμ νλ ν΅κ³λΆμλ°©λ²
t-test, λΆμ°λΆμ : λ 립λ³μκ° λ²μ£Όνμ΄κ³ , μ’ μλ³μκ° μ°μν μλ£κ°μ κ΄κ³λ₯Ό νμ νλ ν΅κ³λΆμλ°©λ²
μκ΄κ΄κ³, μ ννκ·λΆμ : λ 립λ³μμ μ’ μλ³μκ° λͺ¨λ μ°μνμΈ κ²½μ° λ λ³μ κ°μ κ΄κ³λ₯Ό νμ νλ ν΅κ³λΆμλ°©λ²
- μ€μ΅μ© λ°μ΄ν° λΆμνκΈ°
μλ£ κ°μ μ΄λ€ λΆμμ΄ μ ν©νμ§ μκ°νκΈ°
4. λ°μ΄ν° νμκ³Ό λΉλλΆμ
- λ°μ΄ν° νμ
κ°λ : λ°μ΄ν° λΆμμ μννκΈ° μ μ κ° λ³μ λ° λ³μκ°μ κ΄κ³λ₯Ό νμμ λͺ©μ μΌλ‘ νμ νλ κ²
λ°μ΄ν° νμμ΄ μΆ©μ€ν΄μΌ μ±λ₯ μ’μ λͺ¨λΈμ μ»μ μ μλ€
λͺ©μ : μλ£μ λ ₯μ μ€μλ μ΄μκ° νμ§, λΆμμ κ°μ μ΄ μΆ©μ‘±λμλμ§ νμ , μ μ ν λͺ¨λΈ μ νμ μν μ΄κΈ° μ§λ¨, λ³μλ€ κ° κ΄κ³κ° μ‘΄μ¬νλμ§ νμ ν¨μΌλ‘μ¨ λ 립λ³μμ μ’ μλ³μκ°μ +κ΄κ³μΈμ§ -κ΄κ³μΈμ§, μΌλ§λ κ΄λ ¨μ±μ΄ ν°μ§λ₯Ό νκ°
λ¨μΌ λ³μμ λ°μ΄ν° νμ λΆμ : μ κ·μ±, μ΄μμΉ
λ³μλ€ κ°μ λ°μ΄ν° νμ λΆμ : μ νμ±, μ΄μμΉ
- λΉλλΆμ
λΆμ λ° μλ£μ νΉμ± : λ²μ£Όν μλ£μ μλ΅μ, νΌμΌνΈλ₯Ό ꡬνλ λΆμλ°©λ², λ²μ£Όνμλ£κ° λΆμμ λμ
λΆμλͺ©μ : λ²μ£Όν μλ£μ μλ΅ λ° κ΅¬μ± νλ³Έμμ λΉμ¨ νμ , λͺ¨λ λ³μμ λν΄ μλͺ» μ λ ₯λ κ°, νΉμ μ΄μμΉκ° μλμ§ νμ , νμλ²μ£Όκ° μ μ νμ§ κ²ν
- λΉλλΆμ μ€μ΅
γ γ λ³μμ λν λΉλλΆμ μν
μ, λ§λ κ·Έλν λ±μ μ΄μ©ν λΉλλΆμ μκ°ν
replaceν¨μλ₯Ό μ΄μ©ν μ΄ μ΄λ¦ λ³κ²½
5. λ°μ΄ν° νμκ³Ό κΈ°μ ν΅κ³λΆμ
- κΈ°μ ν΅κ³λΆμ
λΆμ λ° μλ£μ νΉμ± : μ°μν μλ£μ νκ· .νμ€νΈμ°¨.μλ.첨λλ₯Ό ꡬνλ λΆμλ°©λ², μ°μνμλ£κ° λΆμμ λμ
λΆμλͺ©μ : μ°μν μλ£μ μ€μ¬, μλ£μ νΌμ§, μΉμ°μΉ¨κ³Ό λΎ°μ‘±ν¨ λ±μ νΉμ± μμ½μ νμ , νμ€νμ μλ₯Ό κ³μ°νμ¬ κ° μλ΅κ°μ νμ€νμ μλ₯Ό μ μ₯
- μ°μν μλ£μ ν΅κ³λ
μ€μ¬νκ²½ν₯ : νκ· , μ€μμ, μ΅λΉκ°
μ°ν¬λ : λΆμ°, νμ€νΈμ°¨, λ²μ, μ¬λΆμλ²μ
λΆν¬λ : μλ, 첨λ
- λ°μ΄ν° νμμ μν κΈ°μ ν΅κ³ ν¨μ
count, describe, min/max, argmin/argmax, idxmin/idxmax, quantile, sum, mean, median, mad, var, std, skew, kurt, cumsum, summin/cummax, cumprod, diff, pct_change, corr, cov
- κΈ°μ ν΅κ³λΆμ μ€μ΅
1 ) λ°μ΄ν° νΉμ± λΆμ λ° κΈ°μ
λ°μ΄ν°μ μ€μ¬νκ²½ν₯, μ°ν¬λ, λΆν¬λ κΈ°μ ν΅κ³λΆμ
μ΅λκ°, μ΅μκ°, ν©κ³, νκ· , λΆμ°, νμ€νΈμ°¨, μλ, 첨λ λ± μμ½ λ° μ 리
dataλͺ .info()
dataλͺ .describe()
dataλͺ ['λ³μλͺ '].describe()
2 ) κ·Έλν μκ°ν
import matplotlib.pyplot as plt
df.hist(bins = a, figsize = (b, c))
df_a = df['d'] : dλ³μλ§ λ³΄κΈ°
df_d.hist(bins = a, figsize = (b, c))
df_a = df['e'] : eλ³μλ§ λ³΄κΈ°
df_e.hist(bins = a, figsize = (b, c))
seabornν¨ν€μ§ μ΄μ© : import seaborn as sns
sns.distplot(df_d, rug=True)
sns.jointplot(x="d", y="e", data=df) : dμ eκ° μ°μ λ/λΆν¬ κ·Έλ €λ³΄κΈ°
- μ΄μμΉ μ κ±°
1 ) IQR κΈ°μ€ μ΄μμΉ μ κ±°
μ¬μμλ₯Ό μ΄μ©ν μ΄μμΉ μ κ±°
df.quantile()
Q1 = df['λ³μλͺ '].quantile(q=0.25)
Q2 = df['λ³μλͺ '].quantile(q=0.50)
Q3 = df['λ³μλͺ '].quantile(q=0.75)
IQR = Q3 - Q1
df[(df['λ³μλͺ ']<Q3+IQR*1.5) & df['λ³μλͺ ']>Q1-IQR*1.5)]
2 ) μ°κ΅¬μ κΈ°μ€ μ΄μμΉ μ κ±°
aλ 5 λ―Έλ§, bλ 10 λ―Έλ§μΌλ‘ λ°μ΄ν° νν°λ§
ndf = df.filter(['a','b'])
ndf = ndf[(ndf['b']<10) & (ndf['a']<5)]
ndf.hist(bins=50, figsize=(15,10))
sns.jointplot(x='a', y='b', data=ndf)
3 ) log λ³νν κ²°κ³Ό
import numpy as np
ndf['logamount']=np.log(ndf['a'])
sns.jointplot(x='a', y='b', data=ndf, kind="kde", space=0, zorder=0, n_levels=6)
'κ΅λ΄νλ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ¬λ¬ΌμΈν°λ· (0) | 2020.04.14 |
---|---|
μκΈ°μ£Όλ μ§λ‘μ€κ³νλ‘μ νΈ (0) | 2020.04.06 |
μ 5ν μλͺ CITIZENSHIP FAIR (0) | 2019.05.10 |
2019-1 μλͺ μ¬νμλ©ν λ¨ (0) | 2019.05.10 |
2018-2 μλͺ μ¬νμλ©ν λ¨ (0) | 2019.05.10 |