Tag: python

Cython:“致命错误:numpy / arrayobject.h:没有这样的文件或目录”

我正在使用Cython来加速这个答案。 我尝试编译代码(在这里解释cygwinccompiler.py hack之后),但得到一个fatal error: numpy/arrayobject.h: No such file or directory…compilation terminated错误。 任何人都可以告诉我,如果这是我的代码有问题,或用Cython的一些深奥的微妙? 以下是我的代码。 提前致谢: import numpy as np import scipy as sp cimport numpy as np cimport cython cdef inline np.ndarray[np.int, ndim=1] fbincount(np.ndarray[np.int_t, ndim=1] x): cdef int m = np.amax(x)+1 cdef int n = x.size cdef unsigned int i cdef np.ndarray[np.int_t, ndim=1] c = np.zeros(m, […]

将timedelta转换为天,小时和分钟

我有一个timedelta。 我想要的是那些日子,时间和分钟 – 无论是作为一个元组还是一本字典…我都没有被诅咒。 这么多年来,我必须用十几种语言来完成这个工作,但是Python通常对所有事情都有一个简单的答案,所以我想在这里先讨论一些令人讨厌的简单(但是冗长)的math问题。 Fooz先生提出了一个很好的观点。 我正在处理“列表”(有点像易趣列表),每个人都有一个持续时间。 我正在尝试通过执行when_added + duration – nowfind剩下的when_added + duration – now 我是否正确地说,不会考虑DST? 如果不是,加/减一小时最简单的方法是什么?

在Python中创build“反向”列表的最佳方法是什么?

在Python中,创build一个新列表的最好方法是什么,其中的项目与其他列表中的项目相同,但顺序相反? (我不想修改现有的列表。) 这是我遇到的一个解决scheme: new_list = list(reversed(old_list)) 也可以复制old_list然后反转重复的地方: new_list = list(old_list) # or `new_list = old_list[:]` new_list.reverse() 有没有更好的select,我忽略了? 如果不是,是否有一个令人信服的理由(如效率)使用上述方法之一?

如何在Python中打印粗体文本?

如何在Python中打印粗体文本? 例如: print "hello" 我该怎么做才能让文字“hello”以粗体显示?

socket.shutdown与socket.close

我最近看到了一些看起来像这样的代码(当然,sock是一个套接字对象): sock.shutdown(socket.SHUT_RDWR) sock.close() 调用套接字closures然后closures它的目的是什么? 如果有所作为,这个套接字被用于非阻塞IO。

如何使用python smtplib发送电子邮件给多个收件人?

经过多次search,我找不到如何使用smtplib.sendmail发送给多个收件人。 问题是每次发送邮件邮件标题将显示包含多个地址,但实际上只有第一个收件人会收到电子邮件。 问题似乎是, email.Message模块需要与smtplib.sendmail()函数不同的东西。 简而言之,要发送给多个收件人,您应该将标题设置为由逗号分隔的电子邮件地址的string。 sendmail()参数to_addrs应该是电子邮件地址列表。 from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText import smtplib msg = MIMEMultipart() msg["Subject"] = "Example" msg["From"] = "me@example.com" msg["To"] = "malcom@example.com,reynolds@example.com,firefly@example.com" msg["Cc"] = "serenity@example.com,inara@example.com" body = MIMEText("example email body") msg.attach(body) smtp = smtplib.SMTP("mailhost.example.com", 25) smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string()) smtp.quit()

为什么我的xlabel在我的matplotlib图中被切断?

我正在使用matplotlib绘制一个数据集,其中我有一个相当“高”的xlabel(这是一个在TeX中呈现的包含分数的公式,因此具有相当于几行文本的高度)的xlabel。 无论如何,当我绘制数字时,公式的底部总是被切断。 改变graphics大小似乎没有帮助,我还没有能够弄清楚如何将x轴“向上”移动以为xlabel腾出空间。 像这样的东西将是一个合理的临时解决scheme,但是有什么好的方法可以使matplotlib自动识别标签被切断并相应resize。 这里是我的意思的一个例子: import matplotlib.pyplot as plt plt.figure() plt.ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$') plt.xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$') plt.show() 而你可以看到整个ylabel,xlabel在底部被切断。 在这种情况下,这是一个特定于计算机的问题,我使用matplotlib 1.0.0在OSX 10.6.8上运行

如何使用Numpy来计算导数?

例如,如何计算函数的导数 y = x 2 +1 使用numpy ? 假设我想要x = 5时的导数值

重新采样表示图像的numpy数组

我正在寻找如何以一个新的尺寸重新取样代表图像数据的numpy数组,最好有一个插值方法的select(最近的,双线性等)。 我知道有 scipy.misc.imresize 这是通过包装PIL的resizefunction来完成的。 唯一的问题是,因为它使用PIL,numpy数组必须符合图像格式,给我最多4个“彩色”通道。 我希望能够调整任意图像的大小,使用任何数量的“颜色”通道。 我想知道是否有一个简单的方法来做这个scipy / numpy,或者如果我需要推出自己的。 对于如何自己制作一个我有两个想法: 一个在每个通道上分别运行scipy.misc.imresize的函数 创build我自己的使用scipy.ndimage.interpolation.affine_transform 第一个对于大数据可能会很慢,第二个似乎没有提供除了样条的其他插值方法。

存储Python字典

我习惯使用.csv文件将数据导入和导出Python,但是对此有明显的挑战。 任何关于在json或pck文件中存储字典(或字典集)的简单方法的build议? 例如: data = {} data ['key1'] = "keyinfo" data ['key2'] = "keyinfo2" 我想知道如何保存这个,然后如何加载它。