본문 바로가기

판다스/판다스 팁50

[pandas] assign 함수로 열을 만들 때 특수문자가 있는 경우 해결 방법 다음 데이터 프레임의 각 행의 합을 구해서 열로 만들어보자 import pandas as pd data = {'colA':[1, 2, 3], 'colB':[4, 5, 6]} df = pd.DataFrame(data) df: 각 행의 합을 구해보자 아래와 같은 코드로 가능하다 df.sum(axis=1) 각 행의 합을 하나의 열로 만들어주자. 열의 이름은 sum of cols 로 만들자 당연히 아래와 같은 배정방식으로 열만들기를 하면 만들 수 있다 df['sum of cols'] = df.sum(axis=1) df: 배정 방식을 사용하면 간단하지만 여러가지 이유로 (inplace(덮어쓰기)를 피하기 위하거나 여러개의 열을 생성할 경우) 열을 만드는 함수 assign을 사용할 때는 열 이름에 특수문자(이 경우.. 2023. 5. 3.
[pandas] 24시를 넘는 시간표기를 정상적인 datetime으로 바꾸는 방법 가끔 24시를 넘는 시간표기를 하는 곳이 있다 (특히 영화관)가령 2023-01-02 00:20:00의 타임스탬프를 전일인 2023-01-01을 기준으로 24:20:00으로 표현한다이런 데이터를 정상적인 datetime으로 바꿔보자  import pandas as pds1 = pd.Series(['2022-01-01 23:50:00', '2022-01-01 24:10:00'])s1     s1은 24시가 넘는 시간을 갖고 있는 문자열 데이터이다.아래와 같은 코드를 사용하면 쉽게 해결된다  spl = s1.str.split(' ')pd.to_datetime(spl.str[0]) + pd.to_timedelta(spl.str[1])  2022-01-01 24:10:00 -> 2022-01-02 00:10:0.. 2023. 5. 2.