Questions tagged «python»

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

6
NumPy通过使用索引列表为每行选择特定的列索引
我正在努力选择NumPy矩阵每行的特定列。 假设我有以下矩阵,我将其称为X: [1, 2, 3] [4, 5, 6] [7, 8, 9] 我list每行还有一个列索引,我将其称为Y: [1, 0, 2] 我需要获取值: [2] [4] [9] 除了使用listwith索引之外Y,我还可以生成形状与X每个列都是0-1值范围内的bool/的形状相同的矩阵int,指示这是否是必需的列。 [0, 1, 0] [1, 0, 0] [0, 0, 1] 我知道这可以通过遍历数组并选择所需的列值来完成。但是,这将在大数据数组上频繁执行,这就是为什么它必须尽可能快地运行。 因此,我想知道是否有更好的解决方案? 谢谢。

6
不带零填充的Python日期时间格式
有没有一种打印Python日期时间的格式,该格式不会在日期和时间上使用零填充? 我现在使用的格式: mydatetime.strftime('%m/%d/%Y %I:%M%p') 结果: 2012年2月29日下午5:03 所需: 2012年2月29日下午5:03 什么格式将月份表示为“ 2”而不是“ 02”,将时间表示为“ 5:03 PM”而不是“ 05:03 PM”

6
Python,从字符串中删除所有非字母字符
我正在编写python MapReduce字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章从Python的字符串中剥离了除了字母数字字符之外的所有内容,这显示了使用正则表达式的一个很好的解决方案,但是我不确定如何实现它 def mapfn(k, v): print v import re, string pattern = re.compile('[\W_]+') v = pattern.match(v) print v for w in v.split(): yield w, 1 恐怕我不确定该如何使用该库re甚至正则表达式。我不确定如何将正则表达式模式v正确地应用于传入的字符串(书的一行)以检索没有任何非字母数字字符的新行。 有什么建议吗?
90 python  regex 



5
从嵌套字典中的项目构造pandas DataFrame
假设我有一个嵌套的字典'user_dict',其结构为: 级别1: UserId(长整数) 级别2:类别(字符串) 级别3:各种属性(浮点数,整数等)。 例如,该词典的条目为: user_dict[12] = { "Category 1": {"att_1": 1, "att_2": "whatever"}, "Category 2": {"att_1": 23, "att_2": "another"}} 每个项目都user_dict具有相同的结构,并且user_dict包含大量项目,我希望将它们提供给pandas DataFrame,从而根据属性构造系列。在这种情况下,分层索引对于此目的将是有用的。 具体来说,我的问题是是否存在一种方法来帮助DataFrame构造函数理解应该从字典中“级别3”的值构建该系列的方法? 如果我尝试类似的方法: df = pandas.DataFrame(users_summary) “级别1”(用户ID)中的项目被视为列,这与我要实现的(将用户ID作为索引)相反。 我知道我可以在对字典条目进行迭代之后构造序列,但是如果有更直接的方法,这将非常有用。一个类似的问题是询问是否可以从文件中列出的json对象构造pandas DataFrame。


6
返回第一个匹配正则表达式的字符串
我想获得正则表达式的第一场比赛。 在这种情况下,我得到了一个列表: text = 'aa33bbb44' re.findall('\d+',text) ['33','44'] 我可以提取列表的第一个元素: text = 'aa33bbb44' re.findall('\d+',text)[0] '33' 但这仅在至少有一个匹配项的情况下有效,否则我会得到一个错误: text = 'aazzzbbb' re.findall('\d+',text)[0] IndexError:列表索引超出范围 在这种情况下,我可以定义一个函数: def return_first_match(text): try: result = re.findall('\d+',text)[0] except Exception, IndexError: result = '' return result 是否有一种无需定义新功能即可获得该结果的方法?
90 python  regex 

2
在pytest测试中记录
我想在测试函数中放入一些日志记录语句,以检查一些状态变量。 我有以下代码片段: import pytest,os import logging logging.basicConfig(level=logging.DEBUG) mylogger = logging.getLogger() ############################################################################# def setup_module(module): ''' Setup for the entire module ''' mylogger.info('Inside Setup') # Do the actual setup stuff here pass def setup_function(func): ''' Setup for test functions ''' if func == test_one: mylogger.info(' Hurray !!') def test_one(): ''' Test One …
90 python  logging  pytest 


9
相当于JavaScript中的Python Pandas
使用此CSV示例: Source,col1,col2,col3 foo,1,2,3 bar,3,4,5 我使用Pandas的标准方法是: 解析CSV 选择数据框中的列(col1和col3) 处理列(例如,将col1和的值平均化 col3) 是否有一个像Pandas这样的JavaScript库?

9
ipynb导入另一个ipynb文件
交互式Python(ipython)真是太神奇了,尤其是当您将所有内容快速地拼凑在一起时……并且这样做的方式很容易返回。 但是,似乎有趣的是具有多个ipython笔记本(ipynb文件)的用例。似乎一个笔记本似乎不应该与其他笔记本有关系,这很有意义,只是我想导入其他ipynb文件。 我看到的唯一解决方法是将* .ipynb文件转换为* .py文件,然后可以将其导入到笔记本中。只有一个文件可以容纳项目中的所有内容,这有点怪异,特别是如果我想真正推动代码重用(这不是python的核心宗旨吗?)。 我想念什么吗?这不是ipython笔记本的受支持用例吗?我可以使用另一种解决方案将ipynb文件导入另一个笔记本吗?我很乐意继续使用ipynb,但现在真的搞砸了我的工作流程:(




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.