본문 바로가기
반응형

Programming216

[Pandas] 데이터 변경해서 새로운 컬럼생성 (MDD 컬럼) 데이터 변형¶ 데이터셋 대체하기¶ In [176]: kospi.head() Out[176]: Open High Low Close Adj Close Volume Date 2020-12-28 2820.949951 2834.590088 2799.560059 2808.600098 2808.600098 1006200 2020-12-29 2810.550049 2823.439941 2792.060059 2820.510010 2820.510010 1046800 2020-12-30 2820.360107 2878.209961 2809.350098 2873.469971 2873.469971 1074000 2021-01-04 2874.500000 2946.540039 2869.110107 2944.449951 2944.449.. 2022. 1. 7.
[Pandas] 중복 데이터 제거하기 중복 데이터 다루기 데이터프레임에는 중복 로우가 존재할 수 있습니다. 중복 데이터가 계산 결과에 영향을 주는 의미있는 데이터가 아니라면 중복 데이터를 적절하게 처리하는 것이 필요할 수 있습니다. df_duplicated = pd.DataFrame({'city': ['seoul']*3 + ['busan']*2, 'num' : ['02'] *3 + ['051']*2}) df_duplicated city num 0 seoul 02 1 seoul 02 2 seoul 02 3 busan 051 4 busan 051 도시 이름에 맞는 지역번호를 정보로 저장하는 데이터프레임으로 생성합니다. city 컬럼 정보를 이용하여 지역번호를 .. 2022. 1. 4.
[Pandas] NaN 데이터 채우기 결측 데이터의 보강 .fillna() NaN값을 특정 값으로 변경하는 경우 .fillna()를 사용할 수 있습니다. 아래와 같이 .fillna()를 이용하여 NaN값을 0으로 변경 했습니다. df a b c d 0 NaN NaN NaN NaN 1 3.0 4.0 5.0 NaN 2 6.0 7.0 8.0 NaN 3 9.0 10.0 NaN NaN 4 NaN 13.0 14.0 NaN 5 15.0 16.0 17.0 NaN 6 18.0 19.0 20.0 NaN 7 NaN NaN NaN NaN 8 24.0 25.0 26.0 NaN 9 27.0 NaN 29.0 NaN filled = df.fillna(0) filled a b c d 0 0.0 0.0 0.0 0.0 1 3.0 4.0 5.0 0.0 2 6.0 7.0 8.0.. 2022. 1. 3.
[Pandas] 모든 컬럼이 NaN일 때만 삭제하기 데이터프레임 없는 값 채우기 pandas에서는 NaN의 값을 갖는 데이터를 누락된 데이터라고 합니다. NaN값은 해당 인덱스 레이블에 값이 없음을 의미합니다. 아래와 같이 NaN값을 가지는 데이터프레임을 생성하고 NaN으로 처리된 없는 값을 채우는 방법을 확인 해봅니다. df = pd.DataFrame(np.arange(0, 30).reshape(10,3), index = np.arange(0,10), columns=['a','b','c']) df a b c 0 0 1 2 1 3 4 5 2 6 7 8 3 9 10 11 4 12 13 14 5 15 16 17 6 18 19 20 7 21 22 23 8 24 25 26 9 27 28 29 df.loc[[0,7]] =.. 2022. 1. 3.
[Pandas] 데이터프레임 로우, 컬럼 정보 확인하기 DataFrame안의 데이터 접근¶ 데이터 프레임은 로우와 칼럼으로 구성되며 이 정보를 이용하여 데이터를 선택할 수 있습니다. 선택 작업에는 [], .loc[], iloc[]등을 사용합니다. 데이터를 사용하기 위해 kospi 주식정보를 사용합니다. In [12]: kospi = pd.read_csv("./^KS11.csv", index_col ='Date') kospi Out[12]: Open High Low Close Adj Close Volume Date 2020-12-28 2820.949951 2834.590088 2799.560059 2808.600098 2808.600098 1006200 2020-12-29 2810.550049 2823.439941 2792.060059 2820.510010 2.. 2022. 1. 2.
[Pandas] 리인덱싱 리인덱싱¶ Pandas에서 리인덱싱은 Series의 데이터가 가진 index를 변경하는 동작을 수행합니다. index를 새로 생성 시 기존의 index와 동일한 shape를 만족하지 않는 경우에도 동작하며 리인덱싱을 사용하면 좀 더 유연한 방법으로 새 인덱스를 만들 수 있다. In [ ]: s1 = pd.Series(np.random.rand(4), index = ['a', 'b', 'c', 'd']) s1 In [ ]: s2 = s1.reindex(['a','c','i']) s2 리인덱스를 이용하여 s2 series를 생성할 경우 기존에 s1 series가 가진 index인 'a', 'c'에 해당하는 값은 s2에 복사되었고 'i' index의 경우 s1에 값이 존재하지 않기 때문에 NaN값으로 저장되었.. 2022. 1. 1.
[Pandas] 불리언 선택 불리언 선택¶ 불리언 선택은 Series의 값 값에 필터링을 위한 논리식을 설정하고 이를 이용하여 새로운 Series객체를 생성하는 방식입니다. In [ ]: test_data = pd.Series(np.arange(0, 10), index = list(['a1','a2','a3','a4','a5','a6','a7','a8','a9','a10'])) In [ ]: test_data a1 ~ a10을 index로 하는 test_data series 객체를 생성하였습니다. test_data series객체는 0~9까지의 값을 가지고 있습니다. In [ ]: logic_filter = test_data >= 5 logic_filter test_data >= 5 의 비교문 수행한 결과를 logic_filter에.. 2021. 12. 31.
[Pandas] 날짜범위 index 만들기 날짜 범위 index 만들기¶ In [25]: test1_df.head() Out[25]: Math Science Name 0 10 70 Mike 1 20 80 Alice 2 30 90 Bob 3 40 100 Jane 4 50 10 Tony 날짜 정보를 index로 넣는 경우 날짜 정보를 가진 series를 만들어야 합니다 이 때 data_range()함수를 사용할 수 있습니다. In [28]: dates = pd.date_range('2021-01-01', '2021-01-10') dates Out[28]: DatetimeIndex(['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05', '2021-01-06', '2021-01-07.. 2021. 12. 26.
반응형