是否有更快的方法来查找Pandas DataFrame中最长字符串的长度,而不是下面示例中显示的长度?
import numpy as np
import pandas as pd
x = ['ab', 'bcd', 'dfe', 'efghik']
x = np.repeat(x, 1e7)
df = pd.DataFrame(x, columns=['col1'])
print df.col1.map(lambda x: len(x)).max()
# result --> 6
Run Code Online (Sandbox Code Playgroud)
df.col1.map(lambda x: len(x)).max()
使用IPython进行计时时,运行大约需要10秒钟%timeit
.
有人遇到过这个问题吗?假设您有两个如下所示的数组
a = array([1,2,3,4,5,6])
b = array([1,4,5])
Run Code Online (Sandbox Code Playgroud)
有没有办法比较b中存在的元素?例如,
c = a == b # Wishful example here
print c
array([1,4,5])
# Or even better
array([True, False, False, True, True, False])
Run Code Online (Sandbox Code Playgroud)
我试图避免循环,因为它需要数百万元素的年龄.有任何想法吗?
干杯
是否可以确定scipy.sparse矩阵的字节大小?在NumPy中,您可以通过执行以下操作来确定数组的大小:
import numpy as np
print(np.zeros((100, 100, 100).nbytes)
8000000
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个包含*.pyx文件的Python包(pyregion),并且在构建过程中会出现错误.检查以下输出:
$ python setup.py build
running build
running build_py
creating build
creating build/lib.macosx-10.5-x86_64-2.7
....
running build_ext
building 'pyregion._region_filter' extension
C compiler: gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -DNDEBUG -g -O3 -arch x86_64
error: unknown file type '.pyx' (from 'src/_region_filter.pyx')
Run Code Online (Sandbox Code Playgroud)
关于问题可能是什么的任何想法?需要注意的是,我在OSX上使用了Enthought构建的Python(7.1)和最新的Xcode(4.1).
干杯
在Sublime Text 2(OSX)上运行python脚本时,python解释器工作(使用Enthought Python Distribution)但不是我自己的PYTHONPATH.以下是Python.sublime-build文件目前的样子:
{
"path": "/Library/Frameworks/EPD64.framework/Versions/Current/bin/",
"cmd": ["python2.7", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
Run Code Online (Sandbox Code Playgroud)
如何正确地将PYTHONPATH添加到此文件?我知道Sublime Text 2没有提到PYTHONPATH,因为我的一些自定义包无法导入.任何帮助将不胜感激.
干杯
有没有办法将一行追加到NumPy rec.array()?例如,
x1=np.array([1,2,3,4])
x2=np.array(['a','dd','xyz','12'])
x3=np.array([1.1,2,3,4])
r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c')
append(r,(5,'cc',43.0),axis=0)
Run Code Online (Sandbox Code Playgroud)
最简单的方法是将所有列提取为nd.array()类型,将单独的元素添加到每个列,然后重建rec.array().遗憾的是,这种方法效率低下.有没有另外的方法来分离重建rec.array()?
干杯,
礼
在Python中近似凸壳的纵横比的最佳方法是什么?我已经尝试通过将凸包的顶点与椭圆拟合并取半轴和长轴的比率来做到这一点.结果并不令人满意,所以我现在正在考虑直接从凸包中推导出纵横比.任何想法或解决方案将不胜感激.
干杯
我正在尝试使用 Python 读取 GIF 图像,该图像在浏览器中似乎可以正常工作,但在 PIL 中却无法正常工作。使用下面的代码
from PIL import Image
im = Image.open('flow.gif')
im = im.convert('RGB')
Run Code Online (Sandbox Code Playgroud)
我得到以下回溯
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-35-6f71a00ad83b> in <module>()
1 im = Image.open('flow.gif')
----> 2 im = im.convert('RGB')
/Users/.../site-packages/PIL/Image.pyc in convert(self, mode, data, dither, palette, colors)
672 return self.copy()
673
--> 674 self.load()
675
676 if data:
/Users/.../site-packages/PIL/ImageFile.pyc in load(self)
218 break
219 else:
--> 220 raise IOError("image file is truncated (%d bytes not processed)" % len(b))
221
222 b = …
Run Code Online (Sandbox Code Playgroud)