小编Soc*_*key的帖子

open.connection(con, "rb") 中的错误:达到超时:10000 毫秒后解析超时

所以我有一个"Player"对象列表,每个对象都有一个 ID,被调用players,我正在尝试使用 JSONlite 访问包含与相关 ID 相关的信息的 Web JSON。

HTML 词干是:' https://fantasy.premierleague.com/drf/element-summary/ '

我需要访问每个玩家各自的页面。

我正在尝试这样做:

playerDataURLStem = 'https://fantasy.premierleague.com/drf/element-summary/'

for (player in players) {
  player_data_url <- paste(playerDataURLStem,player@id,sep = "")
  player_data <- fromJSON(player_data_url)

  # DO SOME STUFF #

}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到错误Error in open.connection(con, "rb") : Timeout was reached: Resolving timed out after 10000 milliseconds。每次运行代码时都会在我的玩家列表中的不同位置产生此错误,当我检查导致错误的网页时,我看不到任何错误。这让我相信有时页面只需要超过 10000 毫秒的时间来回复,但使用

options(timeout = x)
Run Code Online (Sandbox Code Playgroud)

对于某些人来说x,似乎并没有让它等待更长时间的响应。

对于最小的工作示例,请尝试:

playerDataURLStem = 'https://fantasy.premierleague.com/drf/element-summary/'

ids <- c(1:540)
for (id in ids) {
    player_data_url <- paste(playerDataURLStem, id, …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
7414
查看次数

使用命名空间和共享内存字典时关闭管理器错误“AttributeError:'ForkAwareLocal'对象没有属性'连接'”

我在尝试着:

  1. 在进程之间共享数据帧
  2. 根据对该数据帧执行的计算(但不更改)更新共享字典

我正在使用 a在共享内存中multiprocessing.Manager()创建一个(用于存储结果),并使用 a来存储/共享我想要读取的数据帧。dictNamespace

import multiprocessing

import pandas as pd
import numpy as np


def add_empty_dfs_to_shared_dict(shared_dict, key):
    shared_dict[key] = pd.DataFrame()


def edit_df_in_shared_dict(shared_dict, namespace, ind):
    row_to_insert = namespace.df.loc[ind]
    df = shared_dict[ind]
    df[ind] = row_to_insert
    shared_dict[ind] = df


if __name__ == '__main__':
    manager = multiprocessing.Manager()
    shared_dict = manager.dict()
    namespace = manager.Namespace()

    n = 100
    dataframe_to_be_shared = pd.DataFrame({
        'player_id': list(range(n)),
        'data': np.random.random(n),
    }).set_index('player_id')

    namespace.df = dataframe_to_be_shared

    for i in range(n):
        add_empty_dfs_to_shared_dict(shared_dict, i)

    jobs = []
    for i …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing python-3.x

4
推荐指数
1
解决办法
2万
查看次数

Pandas根据布尔条件选择行和列

我有一个大约50列和> 100行的pandas数据帧.我想选择列'col_x','col_y'在哪里'col_z' < m.有一个简单的方法来做到这一点,类似于df[df['col3'] < m]df[['colx','coly']],但结合起来呢?

python conditional dataframe pandas

2
推荐指数
1
解决办法
5151
查看次数