小编And*_*ler的帖子

返回非平坦指数的numpy数组的Argmax

我正在尝试获取Numpy数组中最大元素的索引.这可以使用numpy.argmax.我的问题是,我想找到整个数组中最大的元素并获得它的索引.

numpy.argmax 可以沿着一个轴应用,这不是我想要的,也可以应用在扁平数组上,这是我想要的.

我的问题是当我想要多维索引时,使用numpy.argmaxwith axis=None返回平面索引.

我可以divmod用来得到一个非平坦的索引,但这感觉很难看.有没有更好的方法呢?

python numpy multidimensional-array

73
推荐指数
2
解决办法
3万
查看次数

是否可以在git diff,git gui,gitk中使用--word-diff default

是否可以设置git diff --word-diff=color在显示差异时始终使用的选项?

我知道有gitk,git-gui和git diff的命令行参数,但是我可以设置全局配置选项吗?

我发现这适用于git-gui:将此添加到.gitconfig适用于guid

[gui]
    diffopts = --word-diff --color-words
Run Code Online (Sandbox Code Playgroud)

但是使用这个,我实际上不能再选择任何东西了.每当我想提交任何行或块时,我得到"diff无法应用".

git

23
推荐指数
1
解决办法
1409
查看次数

根据pandas/matplotlib中的类绘制直方图

是否有一种惯用的方法来绘制两个类的特征的直方图?在熊猫中,我基本上想要

df.feature[df.class == 0].hist()
df.feature[df.class == 1].hist()
Run Code Online (Sandbox Code Playgroud)

要在同一个情节中.我可以

df.feature.hist(by=df.class)
Run Code Online (Sandbox Code Playgroud)

但这给了我两个独立的情节.

这似乎是一个常见的任务,所以我想有一个惯用的方法来做到这一点.当然,我可以手动操纵直方图以适合彼此,但通常熊猫这样做非常好.

基本上我想在一行熊猫中使用这个matplotlib示例:http://matplotlib.org/examples/pylab_examples/barchart_demo.html

我以为我错过了一些东西,但也许不可能(还).

python plot matplotlib pandas

16
推荐指数
1
解决办法
1万
查看次数

Numpy使用索引数组在另一个数组中累积一个数组

我的问题是关于我想用numpy表达的特定数组操作.

我有一个浮点数组w和一个idx长度相同的索引数组,w我想w用相同的idx值总结所有并将它们收集在一个数组中v.作为循环,这看起来像这样:

for i, x in enumerate(w):
     v[idx[i]] += x
Run Code Online (Sandbox Code Playgroud)

有没有办法用数组运算来做到这一点?我的猜测是,v[idx] += w但这不起作用,因为idx多次包含相同的索引.

谢谢!

python arrays numpy

11
推荐指数
1
解决办法
1074
查看次数

在Cython中处理自定义C++异常

从Cython调用时,我在处理自定义C++异常时遇到一些麻烦.我的情况如下:我有一个CustomLibraryException用于所有异常的库.我想要的是基本上得到错误消息并用它引发Python错误.

用户指南有一些线索,但它是有点非特异性.第一种可能性是:

cdef int bar()除了+ ValueError

这会将CustomLibraryExceptiona 转换为a ValueError,但会丢失错误消息.

另一种可能性是使用明确转换错误

cdef int raise_py_error()
cdef int something_dangerous() except +raise_py_error
Run Code Online (Sandbox Code Playgroud)

我真的不明白这个解决方案.我知道raise_py_error必须是一个以某种方式处理错误的C++函数.我不知道如何处理它.该函数没有获得参数,并catch在C++中的块内调用.

如果任何人有一个在Cython中处理C++异常的工作示例,那将会有很大的帮助.

c++ exception-handling cython

6
推荐指数
3
解决办法
2447
查看次数

将hdf5 matlab字符串加载到Python中

我在使用Python读取hdf5 matlab 7.3文件时遇到了麻烦.我正在使用h5py 2.0.1.

我可以读取存储在文件中的所有矩阵,但我无法读取字符串列表.h5py将字符串显示为形状(1,894)的数据集,其类型为| 04.此数据集包含对象引用,我尝试使用h5file[obj_ref]语法取消引用.

这会产生类似的结果dataset "FFb": shape (4, 1) type "<u2".我将其解释为长度为4的字符数组.这似乎是字符串的ASCII表示.

是否有一种简单的方法可以解决问题?

是否有任何包提供matlab到python hdf5支持?

python matlab hdf5

6
推荐指数
1
解决办法
2478
查看次数

多维度的Numpy花式索引

假设我有一个大小为nxmxk的numpy数组A和另一个大小为nxm且索引从1到k的数组B. 我想使用B中这个地方给出的索引访问A的每个nxm切片,给我一个大小为nx m的数组.

编辑:这显然不是我想要的![[我可以这样使用take:

A.take(B) ]]结束编辑

这可以通过花式索引来实现吗?我原以为A[B]会给出相同的结果,但是会产生一个大小为nxmxmxk的数组(我真的不明白).

我不想使用的原因take是我希望能够分配这个部分,比如

A[B] = 1

到目前为止,唯一可行的解​​决方案是

A.reshape(-1, k)[np.arange(n * m), B.ravel()].reshape(n, m)

但肯定有一个更简单的方法吗?

python arrays indexing numpy

5
推荐指数
1
解决办法
2243
查看次数

Numpy从瓮绘图

我想在numpy中运行一个相对简单的随机抽奖,但我找不到表达它的好方法.我认为最好的方法是将其描述为从没有替换的骨灰盒中抽出来.我有一个带有k种颜色的骨灰盒,以及各种颜色的n_k球.我想绘制m球,并知道我拥有的每种颜色的球数.

我目前的尝试

np.bincount(np.random.permutation(np.repeat(np.arange(k), n_k))[:m], minlength=k)

这里n_k是一个长度为k的数组,其中包含球的数量.

这似乎相当于 np.bincount(np.random.choice(k, m, n_k / n_k.sum(), minlength=k)

这有点好,但仍然不是很好.

python numpy random-sample scipy scikit-learn

5
推荐指数
1
解决办法
912
查看次数

是否有 git Shortlog 的 python 接口?

我正在尝试将 git 中的日志信息获取到 python 中。我查看了 pygit2 和 gitpython,但似乎都没有提供类似于 git Shortlog 的高级接口。是否有一个 python 库提供了这样的接口,或者我应该调用 git 可执行文件?

python git gitpython

2
推荐指数
1
解决办法
1007
查看次数