Questions tagged «python»

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

5
如何在Flask中设置响应头?
这是我的代码: @app.route('/hello', methods=["POST"]) def hello(): resp = make_response() resp.headers['Access-Control-Allow-Origin'] = '*' return resp 但是,当我从浏览器向服务器发出请求时,出现此错误: XMLHttpRequest cannot load http://localhost:5000/hello. No 'Access-Control-Allow-Origin' header is present on the requested resource. 我也尝试过这种方法,在请求之后设置响应头: @app.after_request def add_header(response): response.headers['Access-Control-Allow-Origin'] = '*' return response 没有骰子。我犯了同样的错误。有没有一种方法可以只在route函数中设置响应头?这样的事情将是理想的: @app.route('/hello', methods=["POST"]) def hello(response): # is this a thing?? response.headers['Access-Control-Allow-Origin'] = '*' return …
99 python  flask 

20
在Python中从日期中减去一个月的最简单方法是什么?
如果只有timedelta在构造函数中有一个month参数。那么最简单的方法是什么? 编辑:正如下面所指出的,我对此并没有太认真思考。我真正想要的是上个月的任何一天,因为最终我将只获得年份和月份。因此,给定一个datetime对象,返回上个月的datetime对象的最简单方法是什么?
99 python 

3
Python / postgres / psycopg2:获取刚刚插入的行的ID
我正在使用Python和psycopg2连接到Postgres。 当我插入一行时... sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES (" sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ");" cursor.execute(sql_string) ...如何获取刚插入的行的ID?试: hundred = cursor.fetchall() 使用时返回错误RETURNING id: sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES (" sql_string += hundred_name + ", '" + hundred_slug + "', …

9
我应该使用课程还是字典?
我有一个只包含字段而没有方法的类,如下所示: class Request(object): def __init__(self, environ): self.environ = environ self.request_method = environ.get('REQUEST_METHOD', None) self.url_scheme = environ.get('wsgi.url_scheme', None) self.request_uri = wsgiref.util.request_uri(environ) self.path = environ.get('PATH_INFO', None) # ... 这可以很容易地翻译成字典。该类对于将来的添加更加灵活,使用可以更快__slots__。那么使用dict会有好处吗?字典会比全班更快吗?并且比具有插槽的课程快吗?
99 python  oop  class  dictionary 

3
正确的使用超级方法(参数传递)
所以我一直在关注Python的超级有害,并去测试他的例子。 但是,示例1-3假定super在处理__init__需要不同参数的方法时显示正确的调用方式,但完全无效。 这是我得到的: ~ $ python example1-3.py MRO: ['E', 'C', 'A', 'D', 'B', 'object'] E arg= 10 C arg= 10 A D arg= 10 B Traceback (most recent call last): File "Download/example1-3.py", line 27, in <module> E(arg=10) File "Download/example1-3.py", line 24, in __init__ super(E, self).__init__(arg, *args, **kwargs) File "Download/example1-3.py", line …
99 python 

6
如何按多列过滤熊猫数据框
要按单列过滤数据帧(df),如果我们考虑男性和女性的数据,则可以: males = df[df[Gender]=='Male'] 问题1-但是,如果数据跨越多年并且我只想看2014年的男性,该怎么办? 在其他语言中,我可能会做类似的事情: if A = "Male" and if B = "2014" then (除了我要执行此操作,并在新的数据框对象中获取原始数据框的子集) 问题2。如何循环执行此操作,并为每个唯一的年份和性别集创建一个数据框对象(例如,2013-男,2013-女,2014-男和2014-女的df for y in year: for g in gender: df = .....
99 python  filter  pandas 

3
如何腌制或存储Jupyter(IPython)笔记本会话以供以后使用
假设我正在Jupyter / Ipython笔记本中进行较大的数据分析,并且完成了大量耗时的计算。然后,由于某种原因,我必须关闭jupyter本地服务器I,但是我想稍后再进行分析,而不必再次进行所有耗时的计算。 我想什么想爱做的是pickle或存储整个Jupyter会话(所有大熊猫dataframes,np.arrays,变量,...),所以我可以放心地关闭服务器知道我可以在完全相同的状态返回到我的会话之前。 从技术上讲甚至可行吗?有没有我忽略的内置功能? 编辑:根据这个答案,有一种%store 魔法应该是“轻型泡菜”。但是,您必须像这样手动存储变量: #inside a ipython/nb session foo = "A dummy string" %store foo 关闭种子,重新启动内核#r %store -r foo进行刷新 print(foo) # "A dummy string" 这与我想要的功能相当接近,但是由于必须手动执行并且无法区分不同的会话,因此它的用处不大。

5
如何在pyspark中将Dataframe列从String类型更改为Double类型
我有一个列为String的数据框。我想在PySpark中将列类型更改为Double type。 以下是我的方法: toDoublefunc = UserDefinedFunction(lambda x: x,DoubleType()) changedTypedf = joindf.withColumn("label",toDoublefunc(joindf['show'])) 只是想知道,这是正确的方法,就像通过Logistic回归运行时一样,我遇到了一些错误,所以我想知道,这是麻烦的原因。



9
如何在虚拟环境中运行Spyder?
我一直在使用随Anaconda发行版安装的Spyder,后者使用Python 2.7作为默认值。当前,我需要使用Python 3.4设置开发虚拟环境。 经过网上研究后,最重要的两个建议是: 首先建立虚拟环境并指出改变Spyder的偏好,例如在这里 ; 在虚拟环境本身中安装所有Spyder依赖项,例如PyQt4,例如在这里; 两项建议都很繁琐,看起来也不是明智的开发选择。 有没有一种解决方案可以在激活所需的虚拟环境后自动使用所需的Python版本运行Spyder?


7
如何在Python Pandas中的两个值之间选择DataFrame中的行?
我试图将DataFrame修改df为仅包含其列中的值在closing_price99到101之间的行,并尝试使用下面的代码执行此操作。 但是,我得到了错误 ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all() 我想知道是否有一种方法可以不使用循环。 df = df[(99 <= df['closing_price'] <= 101)]
99 python  pandas 

4
熊猫数据框中选定列和计数中值的唯一组合
我将数据存储在pandas数据框中,如下所示: df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'], 'B':['yes','no','no','no','yes','yes','no','yes','yes','no']}) 所以我的数据看起来像这样 ---------------------------- index A B 0 yes yes 1 yes no 2 yes no 3 yes no 4 no yes 5 no yes 6 yes no 7 yes yes 8 yes yes 9 no no ----------------------------- 我想将其转换为另一个数据框。预期的输出可以在以下python脚本中显示: output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]}) 因此,我的预期输出如下所示 -------------------------------------------- index A B …
99 python  pandas 

12
有没有一种方法可以使用pandas.ExcelWriter自动调整Excel列的宽度?
我被要求生成一些Excel报告。我目前正在大量使用pandas作为数据,所以自然地我想使用pandas.ExcelWriter方法生成这些报告。但是,固定的列宽是一个问题。 到目前为止,我的代码很简单。假设我有一个名为“ df”的数据框: writer = pd.ExcelWriter(excel_file_path, engine='openpyxl') df.to_excel(writer, sheet_name="Summary") 我正在查看pandas代码,但实际上没有看到任何设置列宽的选项。宇宙中是否有技巧可以使列自动调整为数据?还是在事实之后我可以对xlsx文件做一些事情来调整列宽? (我正在使用OpenPyXL库,并生成.xlsx文件-如果有区别的话。) 谢谢。

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.