본문 바로가기

Python

3중 for 문, enumerate, 데이터 딕셔너리

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
df1 = pd.read_excel('C:\\pytest\\Data_org_test.xlsx',sheet_name='test')
 
 
# 데이터 딕셔너리 
Data_Org1 = {}
for Freq in set(df1['Freq']):
    Data_Org1[Freq] = {}
    for i,NAME in tqdm(enumerate(df1[df1['Freq']==Freq]['NAME'])):
        df= pd.read_excel('C:\\pytest\\Data_org.xlsx',sheet_name=Freq)
        all_data = []
        for x in range(0,len(df.columns),2):
            temp_df = []
            temp_df = df[[df.columns[x], df.columns[x+1]]]
            temp_df = temp_df.fillna(method='bfill').dropna()
            temp_df.columns = ['Date''Data']
            all_data.append(temp_df)
        Data_Org1[Freq][df1[df1['Freq']==Freq].iloc[i]['NAME']]= all_data[i]
cs

위 코드의 목적은 한 엑셀 파일에 일간, 주간, 월간 데이터가 별도 시트에 있을 경우 

일간, 주간, 월간 키워드에 따라 데이터 딕셔너리를 만들기 위함이다. 

위 코드를 이해한다면 3중 for 문, enumerate, 데이터 딕셔너리가 어떤 식으로 동작하는지 알 수 있다. 

또한 set을 이해하는데도 도움이 된다.

 

 

 

 

1. df1

 

2. Data_Org1

 

3. data_orgData_Org1['일간']['coffee']