2301_76149789 2023-01-30 19:57 采纳率: 100%
浏览 30
已结题

python大数据整理

求帮忙!我们python要求计算个股月度发帖量,数据是365个txt文件(p1),这些文件是2015年每天的发帖量统计,很多股票发帖量信息,我们要在其中筛选20个指定股票的信息并按月度加总导出。
现在我们的进度是把这些文件导入到python里面形成了一个dataframe的表格。
目前的难点是:
1.我们导入的dataframe是所有数据,没有日期区分,我们不太清楚怎么从里面筛选特定股票对应的发帖量并形成一个新的表格。
2.这些股票并不是每天都有数据,所以也不能直接筛选,这样就不知道具体对应的日期了。
3.我们也有一个365行的list,里面是分开的365个txt文件,我们在考虑是不是应该用这个列表来进行下一步的筛选。
问题总结:能不能指点一下怎么筛选出特定股票(例如000001)每天的发帖量并形成一个表格,然后再把每天的加总为月度数据的方法或思路,我们真的尽力了但目前没能找到好的方法

img

img

img

  • 写回答

2条回答 默认 最新

  • m0_54204465 2023-01-30 20:10
    关注

    如果数据是按照天来统计的,可以参考以下步骤:

    利用 pandas 读取每天的数据并将其合并到一个大的 DataFrame 里面
    在 DataFrame 里面根据日期列创建一个新的日期列,用来储存日期的月份
    根据股票编号筛选指定的 20 个股票的信息
    按照月份列将发帖量列加总
    输出月度数据到一个新的 DataFrame 或 csv 文件中
    代码:

    import pandas as pd
    
    # 读取每天的数据并合并到一个大的 DataFrame 里面
    df = pd.concat([pd.read_csv(f'p{i}.txt') for i in range(1, 366)], ignore_index=True)
    
    # 在 DataFrame 里面根据日期列创建一个新的日期列,用来储存日期的月份
    df['month'] = pd.to_datetime(df['date']).dt.month
    
    # 根据股票编号筛选指定的 20 个股票的信息
    df = df[df['code'].isin(['000001', ...])]
    
    # 按照月份列将发帖量列加总
    df_monthly = df.groupby('month').sum()
    
    # 输出月度数据到一个新的 DataFrame 或 csv 文件中
    df_monthly.to_csv('monthly_data.csv', index=False)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月10日
  • 已采纳回答 2月2日
  • 创建了问题 1月30日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改