Questions tagged «python»

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

5
将分类数据传递到Sklearn决策树
关于如何将分类数据编码到Sklearn决策树中,有几篇文章,但是从Sklearn文档中,我们得到了这些 决策树的一些优点是: (...) 能够处理数字和分类数据。其他技术通常专用于分析仅具有一种类型的变量的数据集。有关更多信息,请参见算法。 但是运行以下脚本 import pandas as pd from sklearn.tree import DecisionTreeClassifier data = pd.DataFrame() data['A'] = ['a','a','b','a'] data['B'] = ['b','b','a','b'] data['C'] = [0, 0, 1, 0] data['Class'] = ['n','n','y','n'] tree = DecisionTreeClassifier() tree.fit(data[['A','B','C']], data['Class']) 输出以下错误: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/site-packages/sklearn/tree/tree.py", …

2
如何创建一个任意长度字符串的numpy数组?
我是Python的完整新手,但似乎给定的字符串可以(有效)为任意长度。也就是说,您可以string str添加并继续添加:str += "some stuff..."。有没有办法制作这样的字符串数组? 当我尝试此操作时,每个元素仅存储一个字符 strArr = numpy.empty(10, dtype='string') for i in range(0,10) strArr[i] = "test" 另一方面,我知道我可以初始化一定长度的字符串数组,即 strArr = numpy.empty(10, dtype='s256') 最多可以存储10个字符串,最多256个字符。
78 python  arrays  string  numpy 

8
Python是否有匿名类?
我想知道Python是否具有类似C#匿名类功能的东西。为了澄清,这是一个示例C#代码段: var foo = new { x = 1, y = 2 }; var bar = new { y = 2, x = 1 }; foo.Equals(bar); // "true" 在Python中,我会想象这样的事情: foo = record(x = 1, y = 2) bar = record(y = 2, x = 1) foo == bar # true …
78 python 

4
在python中使用map处理列表时获取项目索引
使用map()处理列表时,我想在lambda内访问该项目的索引。我怎样才能做到这一点? 例如 ranked_users = ['jon','bob','jane','alice','chris'] user_details = map(lambda x: {'name':x, 'rank':?}, ranked_users) 在上面的示例中,如何获取每个用户的排名?
78 python 

7
模拟boto3 S3客户端方法Python
我正在尝试从boto3 s3客户端对象模拟一个单独的方法来引发异常。但是我需要所有其他方法来使此类正常工作。 这样一来,我可以在执行upload_part_copy并发生错误时测试单个异常测试 第一次尝试 import boto3 from mock import patch with patch('botocore.client.S3.upload_part_copy', side_effect=Exception('Error Uploading')) as mock: client = boto3.client('s3') # Should return actual result o = client.get_object(Bucket='my-bucket', Key='my-key') # Should return mocked exception e = client.upload_part_copy() 但是,这将产生以下错误: ImportError: No module named S3 第二次尝试 查看botocore.client.py源代码后,我发现它做的很聪明,并且该方法upload_part_copy不存在。我发现似乎要打电话给BaseClient._make_api_call我,所以我试图模拟 import boto3 from mock import patch …

5
按熊猫数据框分组,然后在每组中选择最新的
如何对熊猫数据框的值进行分组并从每个组中选择最新(按日期)? 例如,给定一个按日期排序的数据框: id product date 0 220 6647 2014-09-01 1 220 6647 2014-09-03 2 220 6647 2014-10-16 3 826 3380 2014-11-11 4 826 3380 2014-12-09 5 826 3380 2015-05-19 6 901 4555 2014-09-01 7 901 4555 2014-10-05 8 901 4555 2014-11-01 按ID或产品分组,然后选择最早给出: id product date 2 220 6647 2014-10-16 5 …

5
按熊猫中的自定义列表排序
阅读完之后:http : //pandas.pydata.org/pandas-docs/version/0.13.1/genic/pandas.DataFrame.sort.html 我似乎仍然无法弄清楚如何通过自定义列表对列进行排序。显然,默认排序是字母顺序的。我举一个例子。这是我的(非常删节的)数据帧: Player Year Age Tm G 2967 Cedric Hunter 1991 27 CHH 6 5335 Maurice Baker 2004 25 VAN 7 13950 Ratko Varda 2001 22 TOT 60 6141 Ryan Bowen 2009 34 OKC 52 6169 Adrian Caldwell 1997 31 DAL 81 我希望能够按播放器,年份和Tm进行排序。按玩家和年份的默认排序对我来说是正常的。但是,我不希望Team按字母B / c排序,而我希望TOT始终位于顶部。 这是我创建的列表: sorter = …
78 python  sorting  pandas 

8
Python字典获得多个值
抱歉,这个问题已经存在,但是我已经搜索了很长时间。 我在python中有一个字典,我想从列表中获取一些值,但是我不知道实现是否支持它。 myDictionary.get('firstKey') # works fine myDictionary.get('firstKey','secondKey') # gives me a KeyError -> OK, get is not defined for multiple keys myDictionary['firstKey','secondKey'] # doesn't work either 但是有什么办法可以实现呢?在我的示例中,这看起来很简单,但是假设我有20个条目的字典,并且我想获得5个键。除了做别的事情 myDictionary.get('firstKey') myDictionary.get('secondKey') myDictionary.get('thirdKey') myDictionary.get('fourthKey') myDictionary.get('fifthKey')





7
当b是列表时,为什么b + =(4,)有效而b = b +(4,)不起作用?
如果我们采取b = [1,2,3]并尝试这样做:b+=(4,) 它返回b = [1,2,3,4],但是如果我们尝试这样做b = b + (4,)是行不通的。 b = [1,2,3] b+=(4,) # Prints out b = [1,2,3,4] b = b + (4,) # Gives an error saying you can't add tuples and lists 我预计b+=(4,)会失败,因为您无法添加列表和元组,但它确实有效。因此,我尝试b = b + (4,)期望得到相同的结果,但是没有用。

15
自定义/删除Django选择框空白选项
我正在使用Django 1.0.2。我已经写了一个由模型支持的ModelForm。此模型具有一个ForeignKey,其中blank = False。当Django为该表单生成HTML时,它会创建一个选择框,其中对ForeignKey引用的表中的每一行都有一个选项。它还在列表顶部创建一个没有值的选项,并显示为一系列破折号: <option value="">---------</option> 我想知道的是: 从选择框中删除此自动生成的选项的最干净的方法是什么? 什么是最干净的自定义方式,使其显示为: <option value="">Select Item</option> 在寻找解决方案时,我遇到了Django票证4653,给我的印象是其他人也有同样的问题,并且Django的默认行为可能已被修改。这张票已经使用了一年多,所以我希望可以有一种更清洁的方式来完成这些事情。 谢谢你的帮助, 杰夫 编辑:我已经配置了ForeignKey字段为: verb = models.ForeignKey(Verb, blank=False, default=get_default_verb) 这确实设置了默认值,因此不再是空/破折号选项,但是不幸的是它似乎无法解决我的任何一个问题。即,空/破折号选项仍出现在列表中。

6
用于在内存中维护表格数据的数据结构?
我的情况如下:我有一个数据表(少数字段,少于一百行),该数据表在程序中广泛使用。我还需要这些数据具有持久性,因此我将其另存为CSV并在启动时加载。我选择不使用数据库,因为每个选项(甚至是SQLite)对于我的卑微要求都是过高的(另外-我希望能够以一种简单的方式离线编辑值,没有什么比记事本更简单的了)。 假设我的数据如下所示(在文件中用逗号分隔,没有标题,这只是一个例证): Row | Name | Year | Priority ------------------------------------ 1 | Cat | 1998 | 1 2 | Fish | 1998 | 2 3 | Dog | 1999 | 1 4 | Aardvark | 2000 | 1 5 | Wallaby | 2000 | 1 6 | Zebra | 2001 …

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.