小编cht*_*mon的帖子

如何进行未来的调用并等到完成Python?

我有以下代码,其中有一个用户名列表,我尝试检查用户是否在特定的Windows用户组中使用net user \domain | find somegroup.

问题是我为每个用户名运行大约8个用户组的命令,但速度很慢.我想使用期货甚至单独的线程发送这些调用(如果它更快).

在我做任何其他事情之前,我只需要等到最后.我如何在Python中完成它?

for one_username in user_list:
    response = requests.get(somecontent)

    bs_parsed = BeautifulSoup(response.content, 'html.parser')

    find_all2 = bs_parsed.find("div", {"class": "QuickLinks"})
    name = re.sub("\s\s+", ' ', find_all2.find("td", text="Name").find_next_sibling("td").text)

    find_all = bs_parsed.find_all("div", {"class": "visible"})
    all_perms = ""
    d.setdefault(one_username + " (" + name + ")", [])
    for value in find_all:
        test = value.find("a", {"onmouseover": True})
        if test is not None:
            if "MyAppID" in test.text:
                d[one_username + " (" + name + ")"].append(test.text)

    for group in groups: …
Run Code Online (Sandbox Code Playgroud)

python future python-3.x

16
推荐指数
2
解决办法
4482
查看次数

稳健检测图像中的网格图案

我用Python编写了一个程序,它自动读取这样的评分表 偏斜后的薄片

目前我正在使用以下基本策略:

  • 使用ImageMagick校正图像
  • 使用PIL读入Python,将图像转换为B&W
  • 计算计算行和列中像素的总和
  • 找到这些总和中的峰值
  • 检查这些峰所暗示的交叉点是否有填充.

运行程序的结果如下图所示: 处理后的图像

您可以在左上方显示的图像下方和右侧看到峰值图.左上图中的线是列的位置,红点表示识别的分数.直方图右下方显示每个圆的填充水平和分类线.

此方法的问题在于需要仔细调整,并且对扫描设置的差异很敏感.是否有一种更健壮的方式来识别网格,这将需要较少的先验信息(目前我正在使用有关多少点的知识),并且对于在纸张上绘制其他形状的人更加健壮?我相信可能有可能使用2D傅立叶变换,但我不确定如何.

我正在使用EPD,因此我可以使用相当多的库.

python image-processing

9
推荐指数
1
解决办法
2064
查看次数

二分图的所有可能的最大匹配

我正在使用networkx找到二分图的最大基数匹配.

匹配的边缘对于特定图形不是唯一的.

有没有办法找到所有最大匹配?

对于以下示例,下面的所有边可以是最大匹配:

{1: 2, 2: 1}{1: 3, 3: 1}{1: 4, 4: 1}

import networkx as nx
import matplotlib.pyplot as plt

G = nx.MultiDiGraph()
edges = [(1,3), (1,4), (1,2)]

nx.is_bipartite(G)
True

nx.draw(G, with_labels=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

二分图

不幸,

nx.bipartite.maximum_matching(G)
Run Code Online (Sandbox Code Playgroud)

只返回

{1: 2, 2: 1}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以获得其他组合?

python graph-theory networkx

8
推荐指数
2
解决办法
2238
查看次数

带有SKLEARN,PANDAS和NUMPY问题的Python部署包?

我是AWS和Python的新手,并尝试使用AWS Lambda函数实现一个简单的ML推荐系统进行自学习.我被包裹在sklearn,numpy和pandas的组合上.如果结合任何两个lib意味着(Pandas和Numpy)或(Numpy和Skype)工作正常并且部署完美.因为我正在使用ML系统,所以我需要sklearn(scipy和pandas和numpy),它们无法工作并在aws lambda测试中得到此错误.到目前为止我所做的:我的部署包来自python3.6 virtualenv,而不是直接来自主机.(已经安装/配置了python3.6,virtualenv和awscli,并且你的lambda函数代码在〜/ lambda_code目录中):

  1. cd ~ (我们将在主目录中构建virtualenv)

  2. virtualenv venv --python=python3.6 (创建虚拟环境)

  3. source venv/bin/activate (激活虚拟环境)

  4. pip install sklearn, pandas, numpy

  5. cp -r ~/venv/lib/python3.6/site-packages/* ~/lambda_code (将所有已安装的软件包复制到lambda_code目录的根级别.这将包含一些不必要的文件,但如果需要,您可以自行删除这些文件)

  6. cd ~/lambda_code

  7. zip -r9 ~/package.zip . (拉上lambda包)

  8. aws lambda update-function-code --function-name my_lambda_function --zip-file fileb://~/package.zip (上传到AWS)

之后得到这个错误:

**"errorMessage": "Unable to import module 'index'"**
Run Code Online (Sandbox Code Playgroud)

START RequestId: 0e9be841-2816-11e8-a8ab-636c0eb502bf Version: $LATEST
Unable to import module 'index': **Missing required dependencies ['numpy']**

END RequestId: 0e9be841-2816-11e8-a8ab-636c0eb502bf
REPORT RequestId: 0e9be841-2816-11e8-a8ab-636c0eb502bf  Duration: 0.90 ms   Billed Duration: 100 ms     Memory Size: 128 MB Max …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas scikit-learn aws-lambda

8
推荐指数
1
解决办法
812
查看次数

时间序列数据python的Lowess平滑

我正在尝试使用 LOWESS 来平滑以下数据:

时间序列数据

我想获得一条平滑的线来过滤掉数据中的尖峰。我的代码如下:

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import HourLocator, DayLocator, DateFormatter
from statsmodels.nonparametric.smoothers_lowess import lowess

file = r'C:...'
df = pd.read_csv(file) # reads data file   

df['Date'] = pd.to_datetime(df['Time Local'], format='%d/%m/%Y  %H:%M')     

x = df['Date']  
y1 = df['CTk2 Level'] 

filtered = lowess(y1, x, is_sorted=True, frac=0.025, it=0)

plt.plot(x, y1, 'r')
plt.plot(filtered[:,0], filtered[:,1], 'b')

plt.show()
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,出现以下错误:

ValueError: view limit minimum -7.641460199922635e+16 小于 1 并且是无效的 Matplotlib 日期值。如果您将非日期时间值传递给具有日期时间单位的轴,则通常会发生这种情况

我的数据中的日期格式为 07/05/2018 00:07:00。我认为问题在于 LOWESS 正在努力处理日期时间数据,但不确定?

你能帮我么?

python time-series smoothing

6
推荐指数
1
解决办法
3865
查看次数

绘制具有等距(弧长)标记的曲线

我想绘制一些实验数据的图表,这些数据以相对较高的速率进行采样,但使用间隔相等弧长间隔的标记近似平滑曲线,如下图所示:

具有相等弧长标记的图形

我知道关于markevery绘图的论点,但是这会将标记聚集在图的右侧,并且左边可能只有很少的标记.解决方案应独立于x和y轴上的刻度.我愿意安装其他模块,但它应该是一个python + matplotlib解决方案.

python matplotlib

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

使用熊猫造型器

这可能是一个非常愚蠢的问题,但我似乎看不到 Pandas Styler 的输出。我使用了另一个用户之前发布的以下简单示例。

df = pd.DataFrame([[3,2,10,4],[20,1,3,2],[5,4,6,1]])
df.style.background_gradient()
Run Code Online (Sandbox Code Playgroud)

我理解 df.style 的输出创建了一个 Styler 对象,但我如何才能真正地将其可视化?

python pandas

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

通过熊猫从多层Excel文件中整理数据

我想从具有以下三个级别的“合并”标头的Excel文件中产生整洁的数据:

在此处输入图片说明

Pandas可以很好地读取文件,并带有多级标题:

# df = pandas.read_excel('test.xlsx', header=[0,1,2])
Run Code Online (Sandbox Code Playgroud)

为了提高重复性,您可以复制粘贴以下内容:

df = pandas.DataFrame({('Unnamed: 0_level_0', 'Unnamed: 0_level_1', 'a'): {1: 'aX', 2: 'aY'}, ('Unnamed: 1_level_0', 'Unnamed: 1_level_1', 'b'): {1: 'bX', 2: 'bY'}, ('Unnamed: 2_level_0', 'Unnamed: 2_level_1', 'c'): {1: 'cX', 2: 'cY'}, ('level1_1', 'level2_1', 'level3_1'): {1: 1, 2: 10}, ('level1_1', 'level2_1', 'level3_2'): {1: 2, 2: 20}, ('level1_1', 'level2_2', 'level3_1'): {1: 3, 2: 30}, ('level1_1', 'level2_2', 'level3_2'): {1: 4, 2: 40}, ('level1_2', 'level2_1', 'level3_1'): {1: 5, 2: 50}, ('level1_2', 'level2_1', 'level3_2'): {1: 6, 2: 60}, ('level1_2', …
Run Code Online (Sandbox Code Playgroud)

python excel pandas

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

将ISO 8601日期和时间字符串转换为日期

我想将日期字符串从ISO 8601格式(由“格式日期”块正确生成)转换回可用日期。我尝试使用“从输入获取日期”,但是不幸的是,这似乎无法正确读取时间部分。

直到“格式日期”的流都会产生字符串2018-09-24T11:33:23+02:00,但是无论运行此快捷方式的时间如何,“从输入获取日期”都将12:00显示为时间。

工作流程显示问题

PS:这是一个简化的示例。实际的日期字符串将来自Web服务,因此我无法控制传入的格式-我需要解析这种日期以继续执行其他尝试做的事情。

sirishortcuts

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

scipy 的 shgo 优化器无法最小化方差

为了熟悉全局优化方法,特别是shgo优化器,scipy.optimize v1.3.0我尝试在具有给定平均值的约束下最小化向量的方差var(x)x = [x1,...,xN]0 <= xi <= 1x

import numpy as np
from scipy.optimize import shgo

# Constraint
avg = 0.5  # Given average value of x
cons = {'type': 'eq', 'fun': lambda x: np.mean(x)-avg}

# Minimize the variance of x under the given constraint
res = shgo(lambda x: np.var(x), bounds=6*[(0, 1)], constraints=cons)
Run Code Online (Sandbox Code Playgroud)

shgo方法在这个问题上失败了:

>>> res
     fun: 0.0
 message: 'Failed to find a feasible minimiser point. Lowest sampling point …
Run Code Online (Sandbox Code Playgroud)

optimization scipy shgo

5
推荐指数
0
解决办法
2162
查看次数