Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

2
cv2.Rodrigues计算期间的Python结果更改
如果我运行: import numpy as np import cv2 def changes(): rmat=np.eye(4) tvec=np.zeros(3) (rvec, jacobian)=cv2.Rodrigues(rmat) print rvec for i in range(2): changes() 我得到: [[6.92798859e-310] [2.19380404e-316] [1.58101007e-322]] [[0.] [0.] [0.]] 所以changes()变化的结果。 我不明白为什么会这样,而且如果tvec=np.zeros(3)注释掉该行,它就会停止更改 ,这让我觉得这是系统中的错误。

3
获取子类的重写函数
有没有办法在Python中获取子类的所有替代函数? 例: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass 在这里,我想获得一个列表["a2"]的类的对象B(或类对象本身),因为类B重写只有一个方法,即a2。

1
了解渐变策略派生
我正在尝试从原始资源Andrej Karpathy Blog中重新创建非常简单的Policy Gradient示例。在该文章中,您将找到带有CartPole和Policy Gradient以及重量和Softmax激活列表的示例。这是我重新创建的非常简单的CartPole政策梯度示例,效果很好。 import gym import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import PolynomialFeatures import copy NUM_EPISODES = 4000 LEARNING_RATE = 0.000025 GAMMA = 0.99 # noinspection PyMethodMayBeStatic class Agent: def __init__(self): self.poly = PolynomialFeatures(1) self.w = np.random.rand(5, 2) def policy(self, state): z = state.dot(self.w) …

1
在Python 3中阻止了简单的获取/发布请求,但在python 2中没有阻止
我正在使用python 3开发一个简单的Web scraper,但是当我发送get或post请求时,响应为403。尽管在python 2中工作正常。我在两个版本中都使用了相同版本的请求库。我也尝试过,Verify=False/True但两个版本的区别仍然存在。 要求= 2.22.0 证书= 2019.9.11 from requests import get url = 'https://www.gamestop.com/' header = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'en-US,en;q=0.5', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0', 'DNT': '1', 'Upgrade-Insecure-Requests': '1', 'Connection': 'keep-alive', 'Host': 'www.gamestop.com' } res = get(url, headers=header, verify=False).status_code print(res) …


3
re.findall('(ab | cd)',字符串)vs re.findall('(ab | cd)+',字符串)
在Python正则表达式中,我遇到了这个单一问题。您能否说明re.findall('(ab|cd)', string)和之间的区别re.findall('(ab|cd)+', string)? import re string = 'abcdla' result = re.findall('(ab|cd)', string) result2 = re.findall('(ab|cd)+', string) print(result) print(result2) 实际输出为: ['ab', 'cd'] ['cd'] 我很困惑为什么第二个结果也没有包含'ab'?
18 python  regex 

8
numpy 1D数组:遮罩元素重复n次以上
给定整数数组 [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5] 我需要掩盖重复N多次的元素。需要说明的是:主要目标是检索布尔掩码数组,以后再用于装箱计算。 我想出了一个相当复杂的解决方案 import numpy as np bins = np.array([1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5]) N = 3 …
18 python  arrays  numpy  binning 

4
是否可以在Python中更改PyTest的assert语句行为
我正在使用Python断言语句来匹配实际和预期的行为。我对这些没有控制权,好像有一个错误测试用例中止了一样。我想控制断言错误,并要定义是否要在失败断言时中止测试用例。 我还想添加一些类似的内容,如果存在断言错误,则应该暂停测试用例,并且用户可以随时恢复。 我不知道该怎么做 代码示例,我们在这里使用pytest import pytest def test_abc(): a = 10 assert a == 10, "some error message" Below is my expectation 当assert抛出assertionError时,我应该可以选择暂停测试用例,并且可以调试并稍后恢复。对于暂停和恢复,我将使用tkinter模块。我将做一个断言功能如下 import tkinter import tkinter.messagebox top = tkinter.Tk() def _assertCustom(assert_statement, pause_on_fail = 0): #assert_statement will be something like: assert a == 10, "Some error" #pause_on_fail will be derived …

8
确保其他人可以运行我的python程序的可靠方法
我希望将python程序放置在GitHub上,并让其他人下载并在具有各种操作系统的计算机上运行该程序。我对python来说相对较新,但是已经足够使用它来注意到使所有包含的模块的各个版本一起工作可能会出现问题。我只是发现了(使用命令requirements.txt生成pipreqs和部署pip install -r /path/to/requirements.txt)的用法,但是很惊讶地注意到requirements.txt实际上并没有说明正在使用哪个版本的python,因此很显然它本身并不是完整的解决方案。所以我的问题是:需要什么规格/文件/其他东西才能确保下载我的项目的人实际上能够以最少的问题运行它。 编辑:我的计划是由投票最多的人为指导。但是到目前为止,在获得4个答案和127次查看后,没有一个答案甚至没有投票。如果某些答案不好,那么查看一些关于为什么不好的评论将很有用。

2
Keras的预测时间不一致
我试图估计我的keras模型的预测时间,并意识到一些奇怪的事情。除了正常情况下相当快外,模型偶尔还需要很长时间才能得出预测。不仅如此,这些时间还增加了模型运行的时间。我添加了一个最小的工作示例来重现该错误。 import time import numpy as np from sklearn.datasets import make_classification from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten # Make a dummy classification problem X, y = make_classification() # Make a dummy model model = Sequential() model.add(Dense(10, activation='relu',name='input',input_shape=(X.shape[1],))) model.add(Dense(2, activation='softmax',name='predictions')) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(X, y, verbose=0, batch_size=20, epochs=100) …

3
为什么dict.get(key)起作用但dict [key]不起作用?
我试图根据字符串中有1的数目将某些数字的二进制字符串组合在一起。 这不起作用: s = "0 1 3 7 8 9 11 15" numbers = map(int, s.split()) binaries = [bin(x)[2:].rjust(4, '0') for x in numbers] one_groups = dict.fromkeys(range(5), []) for x in binaries: one_groups[x.count('1')] += [x] 预期的字典one_groups必须是 {0: ['0000'], 1: ['0001', '1000'], 2: ['0011', '1001'], 3: ['0111', '1011'], 4: ['1111']} 但是我明白了 …

2
Python 3中__total__ dunder属性的含义是什么?
在新发布的Python 3.8中,有一个新类型的注释typing.TypedDict。其文档中提到 可以通过Point2D.__annotations__和访问用于自省的类型信息Point2D.__total__。[....] 虽然__annotations__是众所周知的,但已在PEP 3107中引入,但我在上找不到任何信息__total__。谁能解释它的含义,并在可能的情况下链接到权威资料来源?

2
“ with”语句是否支持类型提示?
您可以为使用with语法定义的变量定义类型提示吗? with example() as x: print(x) 我想在上面键入提示以说这x是一个str(作为示例)。 我发现的唯一解决方法是使用中间变量,但这感觉很hack。 with example() as x: y: str = x print(y) 我在打字文档中找不到示例。

2
Spark:在我的用例中,为什么Python明显优于Scala?
为了比较使用Python和Scala时Spark的性能,我用两种语言创建了相同的作业,并比较了运行时。我希望两个作业都花费大致相同的时间,但是Python作业仅花费27min,而Scala作业却花费了37min(将近40%!)。我也用Java实现了同样的工作,而且也花了很多37minutes时间。Python怎么可能这么快? 最小的可验证示例: Python工作: # Configuration conf = pyspark.SparkConf() conf.set("spark.hadoop.fs.s3a.aws.credentials.provider", "org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider") conf.set("spark.executor.instances", "4") conf.set("spark.executor.cores", "8") sc = pyspark.SparkContext(conf=conf) # 960 Files from a public dataset in 2 batches input_files = "s3a://commoncrawl/crawl-data/CC-MAIN-2019-35/segments/1566027312025.20/warc/CC-MAIN-20190817203056-20190817225056-00[0-5]*" input_files2 = "s3a://commoncrawl/crawl-data/CC-MAIN-2019-35/segments/1566027312128.3/warc/CC-MAIN-20190817102624-20190817124624-00[0-3]*" # Count occurances of a certain string logData = sc.textFile(input_files) logData2 = sc.textFile(input_files2) a = logData.filter(lambda value: …

3
如何将熊猫数据框转换为分层字典
我有以下熊猫数据框: df1 = pd.DataFrame({'date': [200101,200101,200101,200101,200102,200102,200102,200102],'blockcount': [1,1,2,2,1,1,2,2],'reactiontime': [350,400,200,250,100,300,450,400]}) 我正在尝试创建一个层次字典,将嵌入式字典的值作为列表,如下所示: {200101: {1:[350, 400], 2:[200, 250]}, 200102: {1:[100, 300], 2:[450, 400]}} 我该怎么做?我得到的最接近的是使用此代码: df1.set_index('date').groupby(level='date').apply(lambda x: x.set_index('blockcount').squeeze().to_dict()).to_dict() 哪个返回: {200101: {1: 400, 2: 250}, 200102: {1: 300, 2: 400}}
16 python  pandas 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.