Questions tagged «python»

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


7
导入不带.py扩展名的python模块
我有一个名为foobar的文件(没有.py扩展名)。在同一目录中,我还有另一个python文件试图将其导入: import foobar 但这仅在我将文件重命名为foobar.py时有效。是否可以导入不带.py扩展名的python模块? 更新:该文件没有扩展名,因为我也将其用作独立脚本,并且我不想键入.py扩展名来运行它。 Update2:我将使用下面提到的symlink解决方案。
74 python  import 

5
else的目的,最后是异常处理的目的
异常处理的else和finally部分是否多余?例如,以下两个代码段之间是否有区别? try: foo = open("foo.txt") except IOError: print("error") else: print(foo.read()) finally: print("finished") 和 try: foo = open("foo.txt") print(foo.read()) except IOError: print("error") print("finished") 更笼统地说,不能else总是将内容移动到try,并且不能finally仅将内容移动到try / catch块之外吗?如果是的话,elseand的目的是finally什么?只是为了提高可读性?
74 python 


2
平均值,nanmean和警告:空切片的平均值
假设我构造了两个numpy数组: a = np.array([np.NaN, np.NaN]) b = np.array([np.NaN, np.NaN, 3]) 现在,我发现两者和的np.mean收益:nanab >>> np.mean(a) nan >>> np.mean(b) nan 自numpy 1.8(2016年4月20日发布)以来,我们一直很幸运nanmean,它忽略了nan值: >>> np.nanmean(b) 3.0 然而,当阵列无关,但 nan价值,它提出了一个警告: >>> np.nanmean(a) nan C:\python-3.4.3\lib\site-packages\numpy\lib\nanfunctions.py:598: RuntimeWarning: Mean of empty slice warnings.warn("Mean of empty slice", RuntimeWarning) 我不喜欢抑制警告;有没有更好的功能可以用来得到nanmean没有警告的行为?
74 python  numpy  warnings 

13
sklearn.LabelEncoder,值之前从未出现
如果将asklearn.LabelEncoder拟合到训练集上,则在测试集上使用时如果遇到新的值,它可能会损坏。 为此我唯一能想到的解决方案是将测试集中的所有新内容(即不属于任何现有类)映射到"<unknown>",然后在其后显式添加一个相应的类LabelEncoder: # train and test are pandas.DataFrame's and c is whatever column le = LabelEncoder() le.fit(train[c]) test[c] = test[c].map(lambda s: '<unknown>' if s not in le.classes_ else s) le.classes_ = np.append(le.classes_, '<unknown>') train[c] = le.transform(train[c]) test[c] = le.transform(test[c]) 这可行,但是有更好的解决方案吗? 更新资料 正如@sapo_cosmico在评论中指出的那样,鉴于我假设是中的实现更改LabelEncoder.transform,现在上述似乎不再起作用了,该更改现在似乎正在使用np.searchsorted(我不知道以前是否是这种情况)。因此,无需将<unknown>类追加到LabelEncoder已经提取的类的列表中,而需要按排序顺序将其插入: import bisect le_classes = le.classes_.tolist() bisect.insort_left(le_classes, '<unknown>') le.classes_ …


2
GridSpec与Python中的共享轴
这种对另一个线程的解决方案建议使用gridspec.GridSpec而不是plt.subplots。但是,当我在子图之间共享轴时,通常使用如下语法 fig, axes = plt.subplots(N, 1, sharex='col', sharey=True, figsize=(3,18)) 如何指定sharex和sharey使用时间GridSpec?

13
将字符串转换为单词列表?
我正在尝试使用python将字符串转换为单词列表。我想采取以下措施: string = 'This is a string, with words!' 然后转换成这样的东西: list = ['This', 'is', 'a', 'string', 'with', 'words'] 注意省略了标点符号和空格。最快的解决方法是什么?

1
'file'是python中的关键字吗?
是filepython中的关键字吗? 我看过一些使用关键字的代码file就很好,而其他人则建议不要使用它,而我的编辑器则将其作为关键字进行颜色编码。
74 python  keyword 

8
适用于python的auto.arima()
我正在尝试使用ARMA ARIMA模型预测每周销售量。我找不到用于调整中的order(p,d,q)的函数statsmodels。目前R具有功能forecast::auto.arima()可调整(p,d,q)参数的功能。 如何为模型选择正确的顺序?python中有为此目的提供的任何库吗?

2
在函数内创建类并访问包含函数范围内定义的函数
编辑: 请参阅此问题底部的我的完整答案。 tl; dr答:Python具有静态嵌套的作用域。的静态 方面可以与隐变量声明相互作用,产生非显而易见的结果。 (由于该语言通常具有动态特性,所以这尤其令人惊讶)。 我以为我对Python的作用域规则掌握得很好,但是这个问题使我彻底陷入困境,而我的google-fu让我失败了(这并不令我感到惊讶-查看问题标题;) 我将从一些可以按预期工作的示例开始,但是请多跳到示例4。 范例1。 >>> x = 3 >>> class MyClass(object): ... x = x ... >>> MyClass.x 3 很简单:在类定义期间,我们能够访问外部(在本例中为全局)范围内定义的变量。 示例2 >>> def mymethod(self): ... return self.x ... >>> x = 3 >>> class MyClass(object): ... x = x ... mymethod = mymethod ... >>> …

12
Django脚本,无需使用manage.py shell即可访问模型对象
我正在编写一个脚本,将一些模型对象导入到我的django应用程序使用的数据库中。过去,我通过运行./manage.py shell然后再解决了这个问题import myscript。我敢肯定有更好的方法。我希望能够使用在HD的任何位置调用脚本python scriptname.py,并且在该脚本的前几行中,它将执行任何必需的导入/其他操作,以便它可以访问模型对象并像运行时一样运行使用manage.py shell。 要实现此目的,我需要添加什么内容? 编辑: 基于@Melug的答案,此外还动态设置了Python路径以解决问题的“ HD上的任何地方”: import sys sys.path.append('c:\\my_projec_src_folder') from myproject import settings from django.core.management import setup_environ setup_environ(settings)


4
SSL错误下载NLTK数据
我正在尝试下载NLTK 3.0以在Mac OS X 10.7.5上与Python 3.6一起使用,但是却遇到SSL错误: import nltk nltk.download() 我使用pip3命令下​​载了NLTK :sudo pip3 install -U nltk。 更改NLTK下载器中的索引可以使下载器显示所有NLTK的文件,但是当一个人尝试下载所有文件时,会出现另一个SSL错误(请参见照片底部): 我对计算机科学比较陌生,对SSL一点也不了解。 我的问题是如何简单地解决这个问题? 这是一个存在相同问题的用户的类似问题: 无法下载nltk数据 我决定发布一个带有屏幕截图的新问题,因为对其他问题的编辑被拒绝了。 我认为没有帮助的类似问题: NLTK下载SSL:证书验证失败 使用nltk.download()下载错误

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.