楼主: by31541250709
586 1

[问答] efinance库中使用装饰器@multitasking.task不成功问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

27%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
65.5177
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
129 点
帖子
10
精华
0
在线时间
26 小时
注册时间
2018-11-3
最后登录
2024-11-15

楼主
by31541250709 发表于 2024-3-6 17:59:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

下面的代码通过efinance库获取股票盘口信息,然后合并为数据框total_final ,代码可以运行,但是速度比较慢。
计划增加@multitasking.task来加速,不过一直出不了结果。请各位大佬指点下。谢谢!


  1. print(snap_df_total)
复制代码

语句显示是有数据的,到了
  1. total_final = get_snap_data(snap_st_list)
复制代码

则没有结果出来。




详细代码如下:
  1. import pandas as pd
  2. import numpy as np
  3. import efinance as ef
  4. import multitasking
  5. import signal
  6. signal.signal(signal.SIGINT, multitasking.killall)

  7. snap_df_total = pd.DataFrame()
  8. snap_st_list =ef.stock.get_realtime_quotes()['股票代码'].head(5)

  9. @multitasking.task
  10. def get_snap_data(snap_st_list):
  11.     snap_df_total = pd.DataFrame()
  12.     for single_st in snap_st_list:
  13.         snap_ser = ef.stock.get_quote_snapshot(single_st)
  14.         snap_temp = pd.DataFrame(snap_ser).T
  15.         snap_df_total = pd.concat([snap_df_total,snap_temp],axis = 0)
  16.         print(snap_df_total)
  17.     return snap_df_total

  18. total_final = get_snap_data(snap_st_list)
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Finance Financ Asking Nance multi

沙发
bbcer314 发表于 2024-3-8 09:24:17
你要知道程序慢,到底是本地数据处理慢,还是下载数据慢。有针对性使用多任务才有意义。一般本地数据处理多任务没啥问题,要是数据下载慢,使用多任务未必能提速,毕竟服务器端可能会对同一个ip的多任务下载做一定的限制哦。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 09:02