美文网首页数据分析
python金融大数据挖掘与分析(五)——利用pandas库导出

python金融大数据挖掘与分析(五)——利用pandas库导出

作者: aidanmomo | 来源:发表于2020-02-03 22:36 被阅读0次

    @[toc]
    利用pandas库将日期和评分转为二维数据表格,并写入Excel工作簿

    1.汇总舆情数据评分

    1. 获取一段时间的时间序列
      这里可以通过pandas库的date_range()函数生成一个时间范围的时间序列,假设数据库中已经存储有“万科集团”每日的新闻舆情评分数据,我们想要获取从2019年9月1日到2019年12月1日的时间序列,为之后批量从数据库调取评分数据做准备。
    import pandas as pd
    date_list = pd.date_range('2019-09-01', '2019-12-01')
    print(date_list)
    
    在这里插入图片描述

    这里可以看到,返回的结果为一个日期格式的时间索引序列,并不是一个常规的列表,所以还需要通过list函数将其转化为列表。


    在这里插入图片描述

    此时返回的是一个列表,但是里面的元素的数据类型为Timestamp(时间戳)类型,因此这里需要将其进一步转换为"%Y-%m-%d"格式的日期字符串,代码如下:


    在这里插入图片描述
    1. 根据时间序列遍历数据库
        db = pymysql.connect(host='localhost', port=3308, user='root', password='',
                             database='spider', charset='utf8')
    
        # 设定参数
        company = '万科集团'
        date_list = list(pd.date_range('2019-09-01', '2019-12-01'))
        for i in range(len(date_list)):
            date_list[i] = datetime.datetime.strftime(date_list[i], '%Y-%m-%d')
        # print(date_list)
    
        # 编写SQL语句
        cur = db.cursor()
        sql = 'SELECT * FROM baidu_news WHERE company = %s AND date = %s'
    
        # 遍历date_list中的日期,获取每天的评分并存储到score_list中
        score_list = {}     #定义字典,用于存储每天的评分
        for i in range(len(date_list)):
            cur.execute(sql, (company, date_list[i]))
            data = cur.fetchall()
    
            score = 100
            for j in range(len(data)):
                score += data[j][5]
                
            score_list[date_list[i]] = score
    
        db.commit()
        cur.close()
        db.close()
    

    2. 导出舆情数据评分表格

    获取每日舆情数据评分结果之后,首先将其转换成DataFrame类型的二维数据表格。代码如下

    data = pd.DataFrame.from_dict(score_list, orient='index', columns=['score'])
    
    在这里插入图片描述
    1. 通过重置索引的方式将行索引转换为列,并将其存入Excel表格中
        data = pd.DataFrame.from_dict(score_list, orient='index', columns=['score'])
        data.index.name = 'date'
        data = data.reset_index()
    
    在这里插入图片描述
    data.to_excel('score.xlsx', index=False)
    

    相关文章

      网友评论

        本文标题:python金融大数据挖掘与分析(五)——利用pandas库导出

        本文链接:https://www.haomeiwen.com/subject/pzqlxhtx.html