csv 파일을 읽고, 데이터 프레임을 실행했다. 데이터를 가공하는 방법을 설명한다.
1. Dataframe
df =pd.read_csv('*.csv')
2. 한 컬럼을 별도로 읽기
df_sub = df.loc[:, 'col_name']
3. 특정 조건에 충족할 때 값을 일괄적으로 변경
- 예시 : col_name 컬럼의 값이 100 이하일 때, col_name2의 데이터를 3으로 변경한다.
- 활용 : 아웃라이어의 제거
df.loc[df['col_name'] <= 100, 'col_name2'] = 3
- 예시2 : 인덱스 이름과 컬럼이름을 알고있으면 at을 사용하면 딱 하나의 값도 변경할 수 있다.
df.at['2023-01-01 00:00:00', 'col_name'] = 0
4. 논리 조건에 따른 값의 일괄적인 변경
- 예시 : col_name 컬럼의 행 값이 50 미만이면서 col_name2 컬럼의 모든 행의 값이 200을 초과하는 경우에 col_name3은 1 값을 넣어준다.
- 활용 : 규칙기반 고장진단할 때 사용하면 여러 조건을 고려한 고장 규칙을 만들 수 있다.
df.loc[(df['col_name'] < 50) & (df['col_name2'] > 200), "col_name3"] = 1
5. 좌변에 조건식에 맞는 것만 다른 열의 값으로 대체하기
- target_label의 값이 label1 조건에 부합할 때, feature1, feature2, feature3에 대체한다.
data.loc[data["label1"] <= 0, ["feature1", "feature2", "feature3"]] = data[target_label]