본문 바로가기
반응형

pandas20

[Pandas] 데이터 연결 (concat), 인덱스 연결 데이터의 접합/연결 (concat)¶ pandas에서 접합(concat)은 둘 이상의 pandas객체로부터 가져온 데이터를 연결해 새 객체로 만드는 과정을 말합니다. In [216]: df1 = pd.DataFrame(np.arange(10).reshape(5,2)) df1 Out[216]: 0 1 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 In [224]: df2 = pd.DataFrame(np.arange(10,20).reshape(5,2)) df2 Out[224]: 0 1 0 10 11 1 12 13 2 14 15 3 16 17 4 18 19 In [225]: pd.concat([df1, df2]) Out[225]: 0 1 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 0 10 1.. 2022. 1. 7.
[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] 데이터프레임 로우, 컬럼 정보 확인하기 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.
[Pandas] 데이터 프레임으로 파일로딩 데이터 프레임으로 파일데이터 로딩¶ In [4]: kospi_df = pd.read_csv("./^KS11.csv") In [6]: kospi_df.head() Out[6]: Date Open High Low Close Adj Close Volume 0 2020-12-28 2820.949951 2834.590088 2799.560059 2808.600098 2808.600098 1006200 1 2020-12-29 2810.550049 2823.439941 2792.060059 2820.510010 2820.510010 1046800 2 2020-12-30 2820.360107 2878.209961 2809.350098 2873.469971 2873.469971 1074000 3 2021-01-04 28.. 2021. 12. 26.
반응형