데이터 확장 및 조작

금융을 위한 중급 Python

Kennedy Behrman

Data Engineer, Author, Founder

PCE

개인소비지출(PCE)

PCE =

금융을 위한 중급 Python

PCE

개인소비지출(PCE)

PCE = PCDG

내구재

스토브

1 By cactus cowboy 2 Open Clipart, CC0, https://commons.wikimedia.org/w/index.php?curid=64953673
금융을 위한 중급 Python

PCE

개인소비지출(PCE)

PCE = PCDG + PCNDG

비내구재

파인애플

1 By Smart Servier 2 https://smart.servier.com/, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=74765623
금융을 위한 중급 Python

PCE

개인소비지출(PCE)

PCE = PCDG + PCNDG + PCESV

서비스

클립보드를 든 남성

1 By Clip Art by Vector Toons 2 Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=65937611
금융을 위한 중급 Python

PCE - 열 추가 및 제거

DATE PCDGA
1929-01-01 9.829
1930-01-01 7.661
1931-01-01 5.911
1932-01-01 3.959
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce['PCND'] = [[33.941,
                30.503,
                25.798000000000002,
                20.169]
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce
DATE PCDG PCND
1929-01-01 9.829 33.941
1930-01-01 7.661 30.503
1931-01-01 5.911 25.798
1932-01-01 3.959 20.169
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce
DATE PCDG PCND
1929-01-01 9.829 33.941
1930-01-01 7.661 30.503
1931-01-01 5.911 25.798
1932-01-01 3.959 20.169
pcesv
PCESV
0 33.613
1 31.972
2 28.963
3 24.587
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce['PCESV'] = pcesv
pce
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce['PCESV'] = pcesv
pce
DATE PCDG PCND PCESV
1929-01-01 9.829 33.941 33.613
1930-01-01 7.661 30.503 31.972
1931-01-01 5.911 25.798 28.963
1932-01-01 3.959 20.169 24.587
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce['PCE'] = pce['PCDG'] + pce['PCND'] + pce['PCESV']
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce['PCE'] = pce['PCDG'] + pce['PCND'] + pce['PCESV']
DATE PCDG PCND PCESV PCE
1929-01-01 9.829 33.941 33.613 77.383
1930-01-01 7.661 30.503 31.972 70.136
1931-01-01 5.911 25.798 28.963 60.672
1932-01-01 3.959 20.169 24.587 48.715
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce.drop(columns=['PCDG', 'PCND', 'PCESV'], 
         axis=1, 
         inplace=True)
금융을 위한 중급 Python

PCE - 열 추가 및 제거

pce.drop(columns=['PCDG', 'PCND', 'PCESV'], 
         axis=1, 
         inplace=True)
DATE PCE
1929-01-01 77.383
1930-01-01 70.136
1931-01-01 60.672
1932-01-01 48.715
금융을 위한 중급 Python

PCE - 행 추가 및 제거

new_row
금융을 위한 중급 Python

PCE - 행 추가 및 제거

new_row
DATE PCE
1933-01-01 45.945
pce.append(new_row)
금융을 위한 중급 Python

PCE - 행 추가 및 제거

new_row
DATE PCE
1933-01-01 45.945
pce.append(new_row)
DATE PCE
1929-01-01 77.383
1930-01-01 70.136
1931-01-01 60.672
1932-01-01 48.715
1933-01-01 45.945
금융을 위한 중급 Python

PCE - 행 추가 및 제거

여러 행 추가

new_rows = [ row1, row2, row3
]
for row in new_rows:
    pce = pce.append(row)
금융을 위한 중급 Python

PCE - 행 추가 및 제거

여러 행 추가

for row in new_rows:
    pce = pce.append(row)
DATE PCE
1929-01-01 77.383
1930-01-01 70.136
1931-01-01 60.672
1932-01-01 48.715
1933-01-01 45.945
1934-01-01 51.461
1935-01-01 55.933
금융을 위한 중급 Python

PCE - 행 추가 및 제거

pce.drop(['1934-01-01',
          '1935-01-01',
          '1936-01-01',
          '1937-01-01',
          '1938-01-01',
          '1939-01-01'], 
          inplace=True)
금융을 위한 중급 Python

PCE - 행 추가 및 제거

pce.drop(['1934-01-01',
          '1935-01-01',
          '1936-01-01',
          '1937-01-01',
          '1938-01-01',
          '1939-01-01'], 
          inplace=True)
DATE PCE
1929-01-01 77.383
1930-01-01 70.136
1931-01-01 60.672
1932-01-01 48.715
1933-01-01 45.945
금융을 위한 중급 Python

PCE - 행 추가 및 제거

all_rows = [row1, row2, row3, pce]
pd.concat(all_rows)
금융을 위한 중급 Python

PCE - 행 추가 및 제거

all_rows = [row1, row2, row3, pce]
pd.concat(all_rows)
DATE PCE
1929-01-01 77.383
1930-01-01 70.136
1931-01-01 60.672
1932-01-01 48.715
1933-01-01 45.945
1934-01-01 51.461
1935-01-01 55.933
금융을 위한 중급 Python

PCE - DataFrame 연산

ec = 0.88
pce * ec
금융을 위한 중급 Python

PCE - DataFrame 연산

ec = 0.88
pce * ec
DATE PCE
1934-01-01 45.28568
1935-01-01 49.22104
1936-01-01 54.72544
1937-01-01 58.81832
금융을 위한 중급 Python

PCE - map

def convert_to_euro(x):
    return x * 0.88

pce['EURO'] = pce['PCE'].map(convert_to_euro)
금융을 위한 중급 Python

PCE - map

def convert_to_euro(x):
    return x * 0.88

pce['EURO'] = pce['PCE'].map(convert_to_euro)
DATE PCE EURO
1934-01-01 51.461 45.28568
1935-01-01 55.933 49.22104
1936-01-01 62.188 54.72544
금융을 위한 중급 Python

국내총생산(GDP)

  • GDP = PCE + GE + GPDI + NE

  • PCE: 개인소비지출

  • GE: 정부지출

  • GPDI: 민간총고정자본형성

  • NE: 순수출

금융을 위한 중급 Python

GDP - apply

map - 열(Series)의 원소에 적용

apply - 행/열 단위로 적용

금융을 위한 중급 Python

GDP - apply

GCE GPDI NE PCE
DATE
1929-01-01 9.622 17.170 0.383 77.383
1930-01-01 10.273 11.428 0.323 70.136
1931-01-01 10.169 6.549 0.001 60.672
1932-01-01 8.946 1.819 0.043 48.715
금융을 위한 중급 Python

GDP - apply

gdp.apply(np.sum, axis=1)
금융을 위한 중급 Python

GDP - apply

gdp['GDP'] = gdp.apply(np.sum, axis=1)
GCE GPDI NE PCE GDP
DATE
1929-01-01 9.622 17.170 0.383 77.383 104.558
1930-01-01 10.273 11.428 0.323 70.136 92.160
1931-01-01 10.169 6.549 0.001 60.672 77.391
1932-01-01 8.946 1.819 0.043 48.715 59.523
금융을 위한 중급 Python

Vamos praticar!

금융을 위한 중급 Python

Preparing Video For Download...