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)
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]
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]
Zone 1 Power Consumption 컬럼의 value값의 크기가 Zone 2 Power Consumption 컬럼의 value값의 크기보다 큰 데이터들의 Humidity의 평균을 구하여라
df[df['Zone 1 Power Consumption'] > df['Zone 2 Power Consumption']]['Humidity'].mean()
각 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)
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)
6월 데이터중 12시의 Temperature의 표준편차를 구하여라
df[(df['DateTime'].dt.month == 6) & (df['DateTime'].dt.hour == 12)]['Temperature'].std()
6월 데이터중 12시의 Temperature의 분산을 구하여라
df[(df['DateTime'].dt.month == 6) & (df['DateTime'].dt.hour == 12)]['Temperature'].var()
Temperature의 평균 이상의 Temperature의 값을 가지는 데이터를 Temperature를 기준으로 정렬 했을때 4번째 행의 Humidity 값은?
df[df['Temperature'] >= df['Temperature'].mean()].sort_values('Temperature')['Humidity'].iloc[3] # .values[3]
Temperature의 중간값 이상의 Temperature의 값을 가지는 데이터를Temperature를 기준으로 정렬 했을때 4번째 행의 Humidity 값은?
df[df['Temperature'] >= df['Temperature'].median()].sort_values('Temperature')['Humidity'].iloc[3]