我正在部署一个Python包,我想运行一个简单的测试,看看我的笔记本中的所有单元格是否都能正常运行.我想通过命令行测试这个,因为我在运行笔记本时遇到问题virtualenv
.是否有简单的命令行方式来测试这个?
主持人注意:这个问题已被标记为如何从终端运行.ipynb Jupyter Notebook? .然而,这个问题是在那个问题的前几天(2016年2月18日2:49问)(16年2月22日3:35问).最多,该帖子可能被标记为重复,如果这样做,一个适当的行动将是合并这两个问题,保持这个,原始的,作为主.
但是,这些问题可能不重复(另一位作者的意图不清楚).无论如何,这个问题及其答案专门针对来自终端的jupyter笔记本中的执行单元,而不仅仅是将笔记本转换为python文件.
3.7中的标准库可以递归地将数据类转换为dict(来自docs的示例):
from dataclasses import dataclass, asdict
from typing import List
@dataclass
class Point:
x: int
y: int
@dataclass
class C:
mylist: List[Point]
p = Point(10, 20)
assert asdict(p) == {'x': 10, 'y': 20}
c = C([Point(0, 0), Point(10, 4)])
tmp = {'mylist': [{'x': 0, 'y': 0}, {'x': 10, 'y': 4}]}
assert asdict(c) == tmp
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法,在存在嵌套时将字典转回数据类.喜欢的东西,C(**tmp)
只有工作,如果数据类的字段是简单类型,而不是自己的数据类.我熟悉jsonpickle,但它带有一个突出的安全警告.
很多时候,我发现自己编写了像琐碎的数据类型
class Pruefer:
def __init__(self, ident, maxNum=float('inf'), name=""):
self.ident = ident
self.maxNum = maxNum
self.name = name
Run Code Online (Sandbox Code Playgroud)
虽然这非常有用(显然我不想用匿名的3元组替换上面的内容),但它也是非常有用的.
现在例如,当我想在dict中使用该类时,我必须添加更多类似的样板
def __hash__(self):
return hash(self.ident, self.maxNum, self.name)
Run Code Online (Sandbox Code Playgroud)
我承认在我的所有样板类中都可能很难识别出一般模式,但我仍然喜欢这个问题:
在python中是否有任何流行的习惯用来获取带有命名访问器的快速和脏数据类型?
或许如果没有,也许Python大师可能想展示一些元类黑客或类工厂,让我的生活更轻松?
我倾向于将.csv文件导入到pandas中,但有时我可能会获得其他格式的数据来制作DataFrame
对象.
今天,我只是发现了有关read_table
为其他格式的"通用"的进口商,并想知道是否有在大熊猫的各种方法之间显著的性能差异阅读的.csv文件,例如read_table
,from_csv
,read_excel
.
read_csv
?read_csv
远远不同的from_csv
创建DataFrame
?我有两个数据阵列,如高度和重量:
import numpy as np, matplotlib.pyplot as plt
heights = np.array([50,52,53,54,58,60,62,64,66,67,68,70,72,74,76,55,50,45,65])
weights = np.array([25,50,55,75,80,85,50,65,85,55,45,45,50,75,95,65,50,40,45])
plt.plot(heights,weights,'bo')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想制作类似于此的情节:
http://www.sas.com/en_us/software/analytics/stat.html#m=screenshot6
任何想法都表示赞赏.
我有一个参数设置为默认值的函数。我正在使用Numpy 样式的文档字符串,但我已经看到其他地方写的默认值。在文档字符串中写入“默认”的普遍接受的位置是什么?
def some_func(a_num=None, a_string=None):
''' A function that does something special.
Parameters
==========
a_num : int, default 100 # is it written here?
An important number.
a_string : str, default 'foo'
A useful string. Default is 'foo'. # or here?
'''
Run Code Online (Sandbox Code Playgroud) 我有一个字符串'aabaacaba'
.从左边开始,我试图得到所有大小> = 2的子串,后面会出现在字符串中.例如,aa
再次出现在字符串中,情况也是如此ab
.
我写了以下正则表达式代码:
re.findall(r'([a-z]{2,})(?:[a-z]*)(?:\1)', 'aabaacaba')
Run Code Online (Sandbox Code Playgroud)
我得到['aa']作为答案.正则表达式错过了ab模式.我认为这是因为人物重叠.请建议一个解决方案,以便修复表达式.谢谢.
我有一个包含超过100,000个值的列表.
我需要根据特定的bin宽度(例如0.1)将列表分成多个较小的列表.任何人都可以帮我如何写一个python程序来做到这一点?
我的清单看起来像这样
-0.234
-0.04325
-0.43134
-0.315
-0.6322
-0.245
-0.5325
-0.6341
-0.5214
-0.531
-0.124
-0.0252
Run Code Online (Sandbox Code Playgroud)
我希望有这样的输出
list1 = [-0.04325, -0.0252]
list2 = [-0.124]
list3 = [-0.234, -0.245 ]
list4 = [-0.315]
list5 = [-0.43134]
list6 = [-0.5325, -0.5214, -0.531]
list7 = [-0.6322, -0.6341]
Run Code Online (Sandbox Code Playgroud) 我试图显示数字列表的所有可能的排列,例如,如果我有334我想得到:
3 3 4
3 4 3
4 3 3
Run Code Online (Sandbox Code Playgroud)
我需要能够为任何长达12位左右的数字组执行此操作.
我确信使用像itertools.combinations这样的东西可能相当简单,但是我不能完全正确地使用语法.
TIA Sam
python ×8
numpy ×2
python-3.x ×2
built-in ×1
combinations ×1
command-line ×1
csv ×1
dataframe ×1
docstring ×1
dto ×1
ipython ×1
jupyter ×1
matplotlib ×1
pandas ×1
performance ×1
python-2.7 ×1
regex ×1
scipy ×1
seaborn ×1
substr ×1