작업 1유형 : 지역구 에너지 소비량 데이터

SOOYEON·2022년 5월 23일
0

빅데이터분석기사

목록 보기
12/36

지역구 에너지 소비량 데이터

Q1.

DateTime컬럼을 통해 각 월별로 몇개의 데이터가 있는지 데이터 프레임으로 구하여라

# s
df['month'] = pd.to_datetime(df['DateTime']).dt.month
df.groupby('month')[['DateTime']].count()

# .dt.month.value_counts().sort_index()
df['DateTime'] = pd.to_datetime(df['DateTime'])
result = df['DateTime'].dt.month.value_counts().sort_index().to_frame()
print(result)

Q2.

3월달의 각 시간대별 온도의 평균들 중 가장 낮은 시간대의 온도를 출력하라

# s
df_3 = df[df['month'] == 3]
df_3.groupby(df_3['DateTime'].dt.hour)['Temperature'].mean().sort_values(ascending=True).iloc[0] # .sort_values().values[0]

Q3.

3월달의 각 시간대별 온도의 평균들 중 가장 높은 시간대의 온도를 출력하라

df_3 = df[df['month'] == 3]
df_3.groupby(df_3['DateTime'].dt.hour)['Temperature'].mean().sort_values(ascending=False).iloc[0] 
# .sort_values().values[-1]

Q4.

Zone 1 Power Consumption 컬럼의 value값의 크기가 Zone 2 Power Consumption 컬럼의 value값의 크기보다 큰 데이터들의 Humidity의 평균을 구하여라

df[df['Zone 1 Power Consumption'] > df['Zone 2  Power Consumption']]['Humidity'].mean()

Q5.

각 zone의 에너지 소비량의 상관관계를 구해서 데이터 프레임으로 표기하라

# s
df[['Zone 1 Power Consumption', 'Zone 2  Power Consumption', 'Zone 3  Power Consumption']].corr()

# iloc
# df = pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/consum/Tetuan%20City%20power%20consumption.csv')
result = df.iloc[:,-3:].corr()
display(result)

Q6.

Temperature의 값이 10미만의 경우 A, 10이상 20미만의 경우 B,20이상 30미만의 경우 C, 그 외의 경우 D라고 할때 각 단계의 데이터 숫자를 구하여라

# total 
# 1
def tclass(Temperature):
    for i in range(len(Temperature)):
        if Temperature[i] < 10 :
            df['cls'][i] = 'A'
        elif Temperature[i] >= 10 and Temperature[i] < 20:
            df['cls'][i] = 'B'
        elif Temperature[i] >= 20 and Temperature[i] < 30:
            df['cls'][i] = 'C'
        else:
            df['cls'][i] = 'D'
# 2            
tclass(df['Temperature'])

# 3
df.groupby('cls')['cls'].count()

# .map  .value_counts()
def split_data(x):
    if x<10:
        return "A"
    elif x<20:
        return 'B'
    elif x<30:
        return 'C'
    else:
        return 'D'
    
df['sp'] = df.Temperature.map(split_data)
result = df['sp'].value_counts()
display(result)

Q7.

6월 데이터중 12시의 Temperature의 표준편차를 구하여라

df[(df['DateTime'].dt.month == 6) & (df['DateTime'].dt.hour == 12)]['Temperature'].std()

Q8.

6월 데이터중 12시의 Temperature의 분산을 구하여라

df[(df['DateTime'].dt.month == 6) & (df['DateTime'].dt.hour == 12)]['Temperature'].var()

Q9.

Temperature의 평균 이상의 Temperature의 값을 가지는 데이터를 Temperature를 기준으로 정렬 했을때 4번째 행의 Humidity 값은?

df[df['Temperature'] >= df['Temperature'].mean()].sort_values('Temperature')['Humidity'].iloc[3] # .values[3]

Q10.

Temperature의 중간값 이상의 Temperature의 값을 가지는 데이터를Temperature를 기준으로 정렬 했을때 4번째 행의 Humidity 값은?

df[df['Temperature'] >= df['Temperature'].median()].sort_values('Temperature')['Humidity'].iloc[3]

0개의 댓글