엑셀 시트별 월 수를 데이터프레임 자체 연산을 시도했을 때 발생
for i in tqdm(list(df_xl.keys())):
month_total += df_xl[i].value_counts('월').to_frame('count')
error
ValueError: cannot join with no overlapping index names
원인 : 데이터프레임에서 index 이름이 달라서 발생한 문제
month_total
count
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
생성한 데이터프레임에 index의 이름을 생성한다.
month_total = pd.DataFrame({'count':[0,0,0,0,0,0,0,0,0,0,0,0]}, index =[1,2,3,4,5,6,7,8,9,10,11,12])
month_total.index.name= '월' month_total
count
월
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
---> 결과로 NaN값 출력됨
count
월
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
해당 시트의 월별 count값을 확인해보니, 시트별로 저장된 월이 달라서 발생했던 문제
add
로 연산하는 방법 변경for i in tqdm(list(df_xl.keys())):
# month_total += df_xl[i].value_counts('월').to_frame('count')
month_total = month_total.add(df_xl[i].value_counts('월').to_frame('count').reset_index().set_index('월').sort_index(),fill_value=0)
count
월 count 연산 확인