机器学习——机器学习数据加载与可视化实验

机器学习——机器学习数据加载与可视化实验

一、加载北京天气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版权协议,转载请附上原文出处链接和本声明。