小编Sul*_*yev的帖子

当我尝试创建虚拟环境时,返回非零退出状态 101 并给出错误

当我py -3 -m venv venv在命令提示符下运行以创建虚拟环境时,它失败了。

"Error: Command '['C:\\Users\\Guest\\Desktop\\Python Web 
 App\\venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default- 
 pip']' returned non-zero exit status 101. 
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?我已经安装了最新的 Python 版本。我在为 Web 开发设置 Flask 的路上被困在这里。

python virtualenv

5
推荐指数
3
解决办法
7373
查看次数

dask 读取镶木地板并指定架构

是否有 dask 相当于 Spark 在读取镶木地板文件时指定模式的能力?可能使用传递给 pyarrow 的 kwargs 吗?

我的桶中有一堆镶木地板文件,但某些字段的名称略有不一致。我可以在阅读它们后创建一个自定义延迟函数来处理这些情况,但我希望在通过全局打开它们时可以指定模式。也许不是,因为我猜想通过 globing 打开然后会尝试将它们连接起来。由于字段名称不一致,目前此操作失败。

创建镶木地板文件:

import dask.dataframe as dd

df = dd.demo.make_timeseries(
    start="2000-01-01",
    end="2000-01-03",
    dtypes={"id": int, "z": int},
    freq="1h",
    partition_freq="24h",
)

df.to_parquet("df.parquet", engine="pyarrow", overwrite=True)
Run Code Online (Sandbox Code Playgroud)

通过 dask 读取它并在读取后指定模式:

df = dd.read_parquet("df.parquet", engine="pyarrow")
df["z"] = df["z"].astype("float")
df = df.rename(columns={"z": "a"})
Run Code Online (Sandbox Code Playgroud)

通过 Spark 读取它并指定模式:

from pyspark.sql import SparkSession
import pyspark.sql.types as T
spark = SparkSession.builder.appName('App').getOrCreate()

schema = T.StructType(
    [
        T.StructField("id", T.IntegerType()),
        T.StructField("a", T.FloatType()),
        T.StructField("timestamp", T.TimestampType()),
    ]
)

df = spark.read.format("parquet").schema(schema).load("df.parquet")
Run Code Online (Sandbox Code Playgroud)

pandas apache-spark parquet dask pyarrow

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

通过迭代删除高度节点来计算图中的三角形

目前,在具有约 15 万个节点和 200 万条边的无向图上进行计算nx.triangles(G)非常慢(大约需要 80 小时)。如果节点度分布高度倾斜,使用以下过程计算三角形是否有问题?

import networkx as nx

def largest_degree_node(G):
    # this was improved using suggestion by Stef in the comments
    return max(G.degree(), key=lambda x: x[1])[0]

def count_triangles(G):
    G=G.copy()
    triangle_counts = 0
    while len(G.nodes()):
        focal_node = largest_degree_node(G)
        triangle_counts += nx.triangles(G, nodes=[focal_node])[focal_node]
        G.remove_node(focal_node)
    return triangle_counts

G = nx.erdos_renyi_graph(1000, 0.1)

# compute triangles with nx
triangles_nx = int(sum(v for k, v in nx.triangles(G).items()) / 3)

# compute triangles iteratively
triangles_iterative = count_triangles(G)

# assertion passes
assert int(triangles_nx) …
Run Code Online (Sandbox Code Playgroud)

python performance graph-theory networkx

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

将图从networkx转换为pytorch几何时如何保留节点顺序?

问题:将图形从networkxpytorch 几何图形转换为图形时如何保留节点顺序/标签?

代码:(在 Google Colab 中运行)

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx

import torch
from torch.nn import Linear
import torch.nn.functional as F
torch.__version__

# install pytorch geometric
!pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.10.0+cpu.html

from torch_geometric.nn import GCNConv
from torch_geometric.utils.convert import to_networkx, from_networkx

# Make the networkx graph
G = nx.Graph()

# Add some cars 
G.add_nodes_from([
      ('Ford', {'y': 0, 'Name': 'Ford'}),
      ('Lexus', {'y': 1, …
Run Code Online (Sandbox Code Playgroud)

python networkx python-3.x pytorch pytorch-geometric

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

使用 dask 合并列

我目前有一个用 pandas 编写的简单脚本,我想将其转换为 dask 数据帧。
在此脚本中,我正在对用户指定列上的两个数据帧执行合并,并尝试将其转换为 dask。

def merge_dfs(df1, df2, columns):
    merged = pd.merge(df1, df2, on=columns, how='inner')
...
Run Code Online (Sandbox Code Playgroud)

如何更改此行以匹配 dask 数据帧?

python dataframe pandas dask dask-dataframe

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

在 dask 中搜索行后获取列值

我有一个 pandas 数据框,我使用from_pandasdask 函数将其转换为 dask 数据框。它有 3 列col1,即col2、 和col3

现在我正在使用我正在搜索的daskdf[(daskdf.col1 == v1) & (daskdf.col2 == v2)]wherev1v2are 值来搜索特定行。col3但是当我尝试获取using的值时,daskdf[(daskdf.col1 == v1) & (daskdf.col2 == v2)]['col3']它给了我一个 dask 系列结构而不是列值。

在熊猫中我可以做到pandasdf[(pandasdf.col1 == v1) & (pandasdf.col2 == v2)]['col3'].tolist()。我如何获取这里的值col3

python dataframe pandas dask dask-dataframe

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

Dask多阶段资源设置导致Failed to Serialize错误

使用 Dask 文档中的确切代码: https://jobqueue.dask.org/en/latest/examples.html

如果页面发生变化,代码如下:

from dask_jobqueue import SLURMCluster
from distributed import Client
from dask import delayed

cluster = SLURMCluster(memory='8g',
                       processes=1,
                       cores=2,
                       extra=['--resources ssdGB=200,GPU=2'])

cluster.scale(2)
client = Client(cluster)

def step_1_w_single_GPU(data):
    return "Step 1 done for: %s" % data


def step_2_w_local_IO(data):
    return "Step 2 done for: %s" % data


stage_1 = [delayed(step_1_w_single_GPU)(i) for i in range(10)]
stage_2 = [delayed(step_2_w_local_IO)(s2) for s2 in stage_1]

result_stage_2 = client.compute(stage_2,
                                resources={tuple(stage_1): {'GPU': 1},
                                           tuple(stage_2): {'ssdGB': 100}})
Run Code Online (Sandbox Code Playgroud)

这会导致这样的错误:

distributed.protocol.core - CRITICAL - Failed to Serialize
Traceback …
Run Code Online (Sandbox Code Playgroud)

python python-3.x dask dask-delayed dask-distributed

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

如何从 parquet 文件中删除 __null_dask_index ?

我正在使用Dask将 df 写入Parquet文件:

df.to_parquet(file, compression='snappy', write_metadata_file=False,\
              engine='pyarrow', index=None)
Run Code Online (Sandbox Code Playgroud)

我需要在在线镶木地板查看器中显示文件的内容,

显示的列是:

Column1  Column2  Column3  __null_dask_index__
Run Code Online (Sandbox Code Playgroud)

如何删除该__null_dask_index__列?

python dataframe parquet dask dask-dataframe

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

使用列表中的名称创建数据框

我有很多选项卡的 excel 文件。我想连接所有这些,一次一个标签。

我在做:

mypath = "mypath"
files = os.listdir(mypath)
files = [os.path.join(mypath,f) for f in files if f[-4:]=='xlsx']

sheets = pandas.ExcelFile(files[0]).sheet_names
Run Code Online (Sandbox Code Playgroud)

现在,假设我的选项卡是 alpha、beta、gamma 等,我想创建一个数据框列表 df_alpha、df_beta 等,它们是我目录中文件的所有 alpha 选项卡的联合。

通过做:

for sheet in sheets:
    df = pandas.DataFrame()
    for f in files:
        df = pandas.concat([df, pandas.read_excel(f, sheet_name=sheet)])
Run Code Online (Sandbox Code Playgroud)

我可以得到我想要的,但当然我只有一个数据框,它是每个文件中最后一个选项卡的联合。如何更改代码以便我有一个 dfs 列表,每个名称都命名为 df_alpha、df_beta 等?

python excel concatenation pandas dictionary-comprehension

3
推荐指数
1
解决办法
66
查看次数

Python 确保函数参数始终是字符串

我正在尝试编写一个带有仅接受字符串的函数的程序。如何使 python 函数参数始终为字符串,如果不是则抛出错误?

我正在寻找类似的东西:

def foo(i: int): 
       return i  
foo(5) 
foo('oops')
Run Code Online (Sandbox Code Playgroud)

但这不会引发错误。

python string types casting assertion

3
推荐指数
1
解决办法
742
查看次数