Python的听课笔记案例8--空气污染指数计算9.0

原创
小哥 3年前 (2022-10-29) 阅读数 8 #大杂烩

倒数第二课,本课主要讲述获取数据后的数据处理和数据分析,使用Pandas数据处理分析。

什么是Pandas?
一套分析结构化数据的强大工具(结构化数据:csv,json。非结构化数据:声音、视频、图片)
基础是NumPy,提供高性能的矩阵运算。
应用于数据挖掘、数据分析。
例如,学生成绩分析、存量数据分析等。
提供数据清理功能(获取的数据不一定是纯的,有空值,处理这些空值就是清理数据)

数据结构:
Series:类似于一维数组的对象。
通过list构建Series
ser_obj = pd.Series(range(10))
它由索引和数据组成:索引在左边,数据在右边。索引是自动创建的。
获取索引和数据ser_obj.index, er_obj.values
预览数据ser_obj.head(n)  前几行数据;  ser_obj.tail(n)  最后几行数据
按索引获取数据:ser_obj[idx]
索引和数据之间的对应关系保留在数组操作的结果中。
通过dict构建Series
name属性
ser_obj.name,ser_obj.index.name

例如:

DataFrame
类似于多维数组/表格数据(例如:Excel、R中的data.frame)
每列数据可以是不同类型的,what about ndarray ?
索引包括列索引和行索引
通过ndarray构建DataFrame
通过dict构建DataFrame
通过列索引获取列数据(Series输入,获取一列数据)
df_obj[col_idx]或df_obj.col_idx
非连续指数采集数据
df_obj[label1,label2]
增加列数据,类似dict添加key-value
df_obj[new_col_idx] = data
删除列
del df_obj[col_idx]
排序:
索引排序:sort_index
按值排序:sort_values(by= label1)

常用统计计算
sum、mean、max、min ......
axis=0按列统计axis= 1按行统计
skipna排除缺失值,默认情况下True
idmax、idmin、comsum
统计描述
describe 生成多个统计数据

例如:

1、读取csv文件;2,查看前五行数据;3、查看某2栏目数据;4,查看数据的基本信息;5、数据预览;6,基本统计;

7、排序;8,获取一列的前几行数据;9,写入采集的数据csv文件。

"""
    作者:lanxingbudui
    日期:2020-03-07
    功能:AQI计算
    版本:9.0
"""

import pandas as pd

def main():
    """
        主函数
    """
    aqi_data = pd.read_csv(china_city_aqi.csv)
    # 查看前五行数据
    print(aqi_data.head(5))
    # 仅查看前三行AQI、CO/1h数据
    print(aqi_data.head(3)[[City, AQI, CO/1h]])
    print(基本信息:)
    print(aqi_data.info())
    print(数据预览:)
    print(aqi_data.head())

    # 基本统计
    print(AQI最大值:, aqi_data[AQI].max())
    print(AQI最小值:, aqi_data[AQI].min())
    print(AQI均值:, aqi_data[AQI].mean())

    # top10
    top10_citis = aqi_data.sort_values(by=[AQI]).head(10)
    print(最佳空气质量10个城市:)
    print(top10_citis)

    # bottom10
    # bottom10_citis = aqi_data.sort_values(by=[AQI]).tail(10)
    bottom10_citis = aqi_data.sort_values(by=[AQI], ascending=False).head(10)
    print(最差的空气质量10个城市:)
    print(bottom10_citis)

    # 保存csv文件
    top10_citis.to_csv(top10_aqi.csv, index=False)
    bottom10_citis.to_csv(bottom10_aqi.csv, index=False)

if __name__ == __main__:
    main()

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除