import pandas as pd
# 기존 데이터프레임 생성 (이전 예제에서 사용한 데이터 활용)
data = {
'고장접수번호': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'시험종류': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'B'],
'시험성공여부': [True, False, True, True, False, True, False, True, False, True]
}
df = pd.DataFrame(data)
# 고장접수번호 별 시험종류별 시험수행 성공 여부에 대한 카운트 계산
result = df.groupby(['고장접수번호', '시험종류', '시험성공여부']).size().unstack(fill_value=0)
# 새로운 데이터프레임 생성
new_df = pd.DataFrame()
# 시험종류별로 'T'와 'F' 칼럼 추가 및 값 채우기
for test_type in df['시험종류'].unique():
t_col = f"{test_type}_T"
f_col = f"{test_type}_F"
if 'T' not in new_df.columns:
new_df['T'] = 0
if 'F' not in new_df.columns:
new_df['F'] = 0
new_df[t_col] = result.loc[result.index.get_level_values('시험종류') == test_type, True].values
new_df[f_col] = result.loc[result.index.get_level_values('시험종류') == test_type, False].values
print(new_df)
댓글