机器学习——机器学习数据加载与可视化实验
一、加载北京天气2018数据集
1、导入数据集
df = pd.read_csv('北京天气数据集.csv')
2、显示前5行和5五行数据
def head_tail():
SEE1 = df.head()
SEE2 = df.tail() # 查看前五行后五行数据
print(SEE1)
print("-" * 60)
print(SEE2)
3、查看2018年6月7日的天气
def Weather_wind():
# print(df.index.values)
ser1 = df.loc[df['日期'] == '2018/6/7', ['日期', '天气']]
ser2 = df.loc[df['日期'] == '2018/6/7', ['日期', '风向']]
print(ser1)
print(ser2)
5、查看最高温度大于18度的天
def temp_18():
# print(df['最高温度'].astype("float"))
ser3 = df.loc[df['最高温度'] > 18, ['日期', '最高温度']]
print(ser3)
二、数据集切片、修改和条件过滤
1、按最高最低温度新增平均温度列
def avg_temp():
average = df['最高温度'] + df['最低温度']
df['平均温度'] = average/2
df.to_csv('北京天气数据集.csv', index=False, sep=',')
2、查看2018年7月份的下雨天。
def m7_rain():
df.set_index('日期', inplace=True)
date = df['2018/7/1':'2018/7/31'].head(31)
rain = date[date.天气.isin(['阵雨', '雷阵雨', '雷阵雨~多云', '多云~雷阵雨', '中雨~雷阵雨', '小雨~大雨', '暴雨', '雨夹雪', '暴雨~雷阵雨', '雷阵雨~大雨'])]
print(rain)
3、统计全年晴天和雨天的天数。
def Sunny_rain():
rain = df[df.天气.isin(['阵雨', '雷阵雨', '雷阵雨~多云', '多云~雷阵雨', '中雨~雷阵雨', '小雨~大雨', '暴雨', '雨夹雪', '暴雨~雷阵雨', '雷阵雨~大雨', '小雨~雨夹雪',
'小雨~多云', '多云~小雨', '大雨~小雨', '雷阵雨~中雨', '小雨~雷阵雨', '小雨~中雨', '中雨~小雨', '阴~小雨', '小雨~阴'])]
print('2018年共%d天有雨' % len(rain))
sunning = df[df.天气.isin(['晴~多云', '多云~晴', '晴'])]
print('2018年共%d晴天' % len(sunning))
三、数据分组可视化过程
1、分组查看每种污染程度的天数和可视化数据。
def contaminated():
良 = df[df.污染程度.isin(['良'])]
优 = df[df.污染程度.isin(['优'])]
轻度污染 = df[df.污染程度.isin(['轻度污染'])]
中度污染 = df[df.污染程度.isin(['中度污染'])]
重度污染 = df[df.污染程度.isin(['重度污染'])]
a = ['良', '优', '轻度污染', '中度污染', '重度污染']
b = [len(良), len(优), len(轻度污染), len(中度污染), len(重度污染)]
series = np.array(b)
plt.bar(x=list(a), height=series, color='tab:green', width=.5)
plt.show()
2、可视化全年最高、最低和平均温度折线图。
def max_min_avg():
plt.figure(figsize=(10, 5)) # 设置画布的尺寸
plt.title('全年最高最低平均温度', fontsize=20) # 标题,并设定字号大小
plt.xlabel(u'日期', fontsize=14) # 设置x轴,并设定字号大小
plt.ylabel(u'温度', fontsize=14) # 设置y轴,并设定字号大小
# color:颜色,linewidth:线宽,linestyle:线条类型,label:图例,marker:数据点的类型
plt.plot(df['日期'], df['最高温度'], color="deeppink", linewidth=2, linestyle=':', label='最高温度', marker='o')
plt.plot(df['日期'], df['最低温度'], color="darkblue", linewidth=1, linestyle='--', label='最低温度', marker='+')
plt.plot(df['日期'], df['平均温度'], color="goldenrod", linewidth=1.5, linestyle='-', label='平均温度', marker='*')
plt.legend(loc=2) # 图例展示位置,数字代表第几象限
plt.show() # 显示图像
3、根据平均气温新增穿衣搭配推荐,要求大于20度穿短袖,大于10度穿衬衫,大于0度穿夹克,小于0度穿大衣,小于-10度穿棉袄。要求把穿衣类型做一个可视化分析。
def Clothing_recommendation():
cloth = 0
for i in df['平均温度']:
if i < 0:
cloth = '大衣'
if i < -10:
cloth = '棉袄'
if i > 0:
cloth = '夹克'
if i > 10:
cloth = '衬衫'
if i > 20:
cloth = '短袖'
df['推荐穿衣'] = cloth
df.to_csv('北京天气数据集.csv', index=False, sep=',')
print(df)

三联再看 月入百万
版权声明:本文为aolihui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。