我有以下代码,其中有一个用户名列表,我尝试检查用户是否在特定的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编写了一个程序,它自动读取这样的评分表

目前我正在使用以下基本策略:
运行程序的结果如下图所示:

您可以在左上方显示的图像下方和右侧看到峰值图.左上图中的线是列的位置,红点表示识别的分数.直方图右下方显示每个圆的填充水平和分类线.
此方法的问题在于需要仔细调整,并且对扫描设置的差异很敏感.是否有一种更健壮的方式来识别网格,这将需要较少的先验信息(目前我正在使用有关多少点的知识),并且对于在纸张上绘制其他形状的人更加健壮?我相信可能有可能使用2D傅立叶变换,但我不确定如何.
我正在使用EPD,因此我可以使用相当多的库.
匹配的边缘对于特定图形不是唯一的.
有没有办法找到所有最大匹配?
对于以下示例,下面的所有边可以是最大匹配:
{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)
有没有办法可以获得其他组合?
我是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目录中):
cd ~ (我们将在主目录中构建virtualenv)
virtualenv venv --python=python3.6 (创建虚拟环境)
source venv/bin/activate (激活虚拟环境)
pip install sklearn, pandas, numpy
cp -r ~/venv/lib/python3.6/site-packages/* ~/lambda_code (将所有已安装的软件包复制到lambda_code目录的根级别.这将包含一些不必要的文件,但如果需要,您可以自行删除这些文件)
cd ~/lambda_code
zip -r9 ~/package.zip . (拉上lambda包)
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) 我正在尝试使用 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 正在努力处理日期时间数据,但不确定?
你能帮我么?
我想绘制一些实验数据的图表,这些数据以相对较高的速率进行采样,但使用间隔相等弧长间隔的标记近似平滑曲线,如下图所示:

我知道关于markevery绘图的论点,但是这会将标记聚集在图的右侧,并且左边可能只有很少的标记.解决方案应独立于x和y轴上的刻度.我愿意安装其他模块,但它应该是一个python + matplotlib解决方案.
这可能是一个非常愚蠢的问题,但我似乎看不到 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 对象,但我如何才能真正地将其可视化?
我想从具有以下三个级别的“合并”标头的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) 我想将日期字符串从ISO 8601格式(由“格式日期”块正确生成)转换回可用日期。我尝试使用“从输入获取日期”,但是不幸的是,这似乎无法正确读取时间部分。
直到“格式日期”的流都会产生字符串2018-09-24T11:33:23+02:00,但是无论运行此快捷方式的时间如何,“从输入获取日期”都将12:00显示为时间。
PS:这是一个简化的示例。实际的日期字符串将来自Web服务,因此我无法控制传入的格式-我需要解析这种日期以继续执行其他尝试做的事情。
为了熟悉全局优化方法,特别是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) python ×8
pandas ×3
aws-lambda ×1
excel ×1
future ×1
graph-theory ×1
matplotlib ×1
networkx ×1
optimization ×1
python-3.x ×1
scikit-learn ×1
scipy ×1
shgo ×1
smoothing ×1
time-series ×1