Pandas库的简单数据分析输出图表

第一次使用pandas库,真的太方便了,几行代码就完全实现了需求,非常适合用来做数据分析

需求是这样的:根据sn分组,然后得到一time为x轴,distance为y轴的日志报表,输出在一张图表上。

拿到这个需求的时候暗自高兴,我之前有过matlab的数据分析基础,又有python的爬虫和图像分析经验,问了好几遍,以为是前辈在试探我的能力,哈哈哈哈哈。平复了高兴的心情,现在介绍一下pandas库。

想看pandas官方文档的可以点击这个链接   https://www.pypandas.cn/  中文哦

 

 官方给出的pandas标题显示pandas是一个强大的python数据分析支持库,提供了一些可以学习的资料:大家可以去尝试

                  

 话不多说,直接上代码


'''
author:bruce Yang 2019.12.10
读取CSV数据使用-pandas库对数据进行分析,
根据sn分组,x=time, y=distance_1,显示为12*16的子图,
'''

import pandas as pd
import matplotlib.pyplot as plt

def main():
    # 存储CSV文件路径
    CSV_FILE_PATH = 'reddyice_lat.csv'

    # 各个参数的意义;usecols表示取到的列,skiprows表示跳过前几行,na_values表示当出现空值时显示为NAN
    df = pd.read_csv(CSV_FILE_PATH, usecols=['time', 'sn', 'distance_1'], skiprows=0, na_values=['missing'])

    # 根据sn分组,并将取到的分组赋予g
    g = df.groupby('sn')

    # 创建一张大图,设置大小
    fig = plt.figure(figsize=(50, 30))

    # 设置子图标志位
    i = 1
    '''
    利用for循环将取到的对象一一处理,画图,得到子图
    显示空白的图片有两种情况,一种是只有有一个数据不成图,一种是分组中的distance_1数据全为NANA,验证代码如下:
    test = g.get_group(801046037933252)
    plt.plot(test["time"], test["distance_1"])
    print(test)
    '''
    for sn, group in g:
        target = g.get_group(sn)
        ax = fig.add_subplot(12, 16, i)
        ax.plot(target["time"], target["distance_1"])
        ax.set_title(sn)
        plt.tight_layout()
        print(sn)
        print(target)
        i += 1

    plt.show()


if __name__ == "__main__":
    main()

结果如下:

写博时间有限,问题私信,本人在java、python、MATLAB、数据分析与挖掘、人工智能方面有强烈兴趣,嘿嘿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值