小编Ale*_*xNe的帖子

在numpy中找到最小跳跃零交叉

对于数据分析任务,我想在一个numpy数组中找到零交叉,该数组来自先与sobel式内核然后是墨西哥帽内核的卷积。零交叉使我能够检测数据的边缘。

不幸的是,数据有些嘈杂,20在下面的示例中,我只想找到具有最小跳转大小的零交叉点:

import numpy as np
arr = np.array([12, 15, 9, 8, -1, 1, -12, -10, 10])
Run Code Online (Sandbox Code Playgroud)

应该导致

>>>array([1, 3, 7])
Run Code Online (Sandbox Code Playgroud)

要么

>>>array([3, 7])
Run Code Online (Sandbox Code Playgroud)

3的索引在哪里-1,就在第一跳的中间之前,7是的索引-10

我尝试了以下代码的修改(来源:有效地检测python中的符号变化

zero_crossings = np.where(np.diff(np.sign(np.trunc(arr/10))))[0]
Run Code Online (Sandbox Code Playgroud)

正确地忽略了小的跳跃,但是将零交叉点置于 [1,5,7]

什么是有效的方法?

最小跳跃的定义并不严格,但结果应符合我的问题。

编辑:澄清

arr = np.array([12, 15, 9, 8, -1, 1, -12, -10, 10])
arr_floored = np.trunc(arr/10)
>>>>np.array([10, 10, 0, 0, 0, 0, -10, -10, 10])
sgn = np.sign(arr_floored)
>>>>array([ 1,  1,  0,  0,  0,  0, -1, -1,  1]) …
Run Code Online (Sandbox Code Playgroud)

python signal-processing numpy

9
推荐指数
1
解决办法
231
查看次数

确定数据集的列在任何给定的 Scikit-Learn Transformer 下是否不变

给定 sklearn tranformer t,有没有办法确定是否t更改任何给定输入数据集的列/列顺序X而不将其应用于数据?

例如,和t = sklearn.preprocessing.StandardScaler的列之间存在一对一的映射,即,而 的情况显然不是这样。Xt.transform(X)X[:, i] -> t.transform(X)[:, i]sklearn.decomposition.PCA

其推论是:我们能否知道,通过应用 ,输入的列将如何改变t,例如已经安装的选择了哪些列sklearn.feature_selection.SelectKBest

不是在寻找针对特定变压器的解决方案,而是在寻找适用于所有或至少多种变压器的解决方案。

如果需要,请随意实现您自己的 Pipeline 类或包装器。

python scikit-learn

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

如何在一列Python中打印出具有最大值的CSV文件行

目前我有这样的数据:

EXAMPLE_DATA = [
['time', 'age', 'height', 'width', 'ethnicity', 'religion'],
['18:42:11', '61', '153.9615', '0.8', 'Mixed', 'None'],
['18:35:00', '34', '116.4253333', '10.17', 'Mixed', 'None'],
['14:25:40', '14', '119.7673475', '65.44', 'Mixed', 'None'],
['19:39:06', '33', '145.2423535', '9.4', 'Mixed', 'None'],
['17:22:17', '66', '122.2351111', '12.4', 'Mixed', 'None'],
['13:15:00', '77', '187.4983398', '19.88', 'Mixed', 'None']
]
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

headings = ['Time', 'Age', 'Height', 'Width', 'Ethnicity', 'Religion']
rows = [0, 1, 2, 3, 4, 5]

for heading, row in zip(headings, rows):
    print(heading + ': ' + datafunc[row])
Run Code Online (Sandbox Code Playgroud)

'datafunc'调用EXAMPLE_DATA [1]或EXAMPLE_DATA [2]或([3],[4]等),具体取决于我希望它输出哪一行数据.如果它调用EXAMPLE_DATA [1],这是我得到的输出: …

python python-3.x

0
推荐指数
1
解决办法
70
查看次数