Pandas

Language/Python

[python] 특정 열의 데이터를 나눠서 행으로 추가하기 - pandas

dfsplit = dfresult['val'].str.split('\n').apply(lambda x: pd.Series(x)) dfsplit2 = dfsplit.stack().reset_index(level=1, drop=True) dfrow = pd.merge(pd.DataFrame(dfsplit2), dfresult, left_index=True, right_index=True, how='left').drop('val', axis=1) dfrow.rename(columns={0:'value'}, inplace=True) dfrow = dfrow[['opid','dt','value']]

Language/Python

[python] 컬럼명 한번에 바꾸기 - pandas

데이터 프레임 컬럼명 한 번에 바꾸기 컬럼명을 바꿔야 하는 컬럼이 여러 개인 경우 코드가 지저분해질 수 있기 때문에 난 아래와 같이 작성한다. 예시 코드 result.rename(columns={name: name-date)//pd.Timedelta(days=1) for name in set(result.columns)}, inplace=True) result라는 데이터프레임에서 컬럼명을 바꿀 때 rename이라는 함수를 사용한다. 그리고 그 안에서 딕셔너리 형태로 columns 이름을 지정하는데 for문을 이용하여 한번에 바꿔줄 수 있다.

Language/Python

[python] groupy 문자열 합치기

groupby로 문자열 합치기 groupby는 보통 통계 낼 때 많이 쓰지만 문자열 자체를 합칠 때도 쓸 수 있다. 합칠 때 ,나 / 혹은 띄어쓰기로도 합칠 수 있으니 상황에 맞게 중간자를 선택하면 된다. 예시 코드 data.groupby(['hid','date'], as_index=False).agg(lambda x: ','.join(set(x)))

Language/Python

[python] 부분 문자열 대체하기 - pandas

result = result.replace('(.*)E(.*)', r'\1F\2', regex=True)

Language/Python

[python] 특정 문자열 포함하는 행 제거 - pandas

특정 문자열 포함하는 행 제거하기 전처리를 하다보면 특정 문자열을 포함하는 행 전체를 제거할 일이 많다. 문자열 관련 전처리는 dataframe.str 으로 대부분 해결 되는데 오늘은 str.contains 를 이용해보자. str.contains 사용하기 dfresult = df[~df['Time'].str.contains("2021-03-01", na=False, case=False)] "2021-03-01"

Language/Python

[python] 시트가 여러 개인 엑셀 파일 한 번에 읽기 - pandas

여러 시트 한 번에 읽기 pandas로 excel을 읽을 경우, read_excel 이라는 함수를 쓰게 된다. 만약 백만행이 넘어가 sheet1, sheet2, ... 까지 쓰여있다면 어떻게 해야 할까? 우리가 흔히 쓰는 것 처럼 pd.read_excel()를 쓴다면 sheet1에 있는 데이터만 읽어진다. 따라서 read_excel함수의 파라미터 중 sheet_name = None 을 추가해주면 모든 시트를 읽을 수 있다. 그러나 sheet_name = None 의 원리는 key: sheet1, value: 모든 데이터와 같아서 데이터 프레임으로써 쓸 수 없기 때문에 concat으로 한번 더 묶어줘야 한다. 예제 코드 df = pd.concat([value.assign(sheet_source=key) f..

향식이
'Pandas' 태그의 글 목록 (2 Page)