相关疑难解决方法(0)

找到每个唯一bin的最大位置(binargmax)

建立

假设我有

bins = np.array([0, 0, 1, 1, 2, 2, 2, 0, 1, 2])
vals = np.array([8, 7, 3, 4, 1, 2, 6, 5, 0, 9])
k = 3
Run Code Online (Sandbox Code Playgroud)

我需要通过唯一bin中的最大值的位置bins.

# Bin == 0
#  ? ?           ?
# [0 0 1 1 2 2 2 0 1 2]
# [8 7 3 4 1 2 6 5 0 9]
#  ? ?           ?
#  ?
# [0 1 2 3 4 5 6 7 8 9]
# …
Run Code Online (Sandbox Code Playgroud)

python numpy

38
推荐指数
6
解决办法
1198
查看次数

每次有 0 时,Python pandas cumsum 都会重置

我有一个包含 0 和 1 的矩阵,并且想要在每列上做一个 cumsum,只要观察到零,它就会重置为 0。例如,如果我们有以下内容:

df = pd.DataFrame([[0,1],[1,1],[0,1],[1,0],[1,1],[0,1]],columns = ['a','b'])
print(df)
   a  b
0  0  1
1  1  1
2  0  1
3  1  0
4  1  1
5  0  1
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

print(df)
   a  b
0  0  1
1  1  2
2  0  3
3  1  0
4  2  1
5  0  2
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试时df.cumsum() * df,我能够正确识别 0 元素,但计数器不会重置:

print(df.cumsum() * df)
   a  b
0  0  1
1  1  2
2  0  3
3  2  0
4 …
Run Code Online (Sandbox Code Playgroud)

python pandas cumsum

9
推荐指数
2
解决办法
6554
查看次数

Numpy:找到掩码边缘的索引

我试图找到掩码段的索引。例如:

mask = [1, 0, 0, 1, 1, 1, 0, 0]
segments = [(0, 0), (3, 5)]
Run Code Online (Sandbox Code Playgroud)

当前的解决方案看起来像这样(而且速度慢,因为我的掩码包含数百万个数字):

segments = []
start = 0
for i in range(len(mask) - 1):
    e1 = mask[i]
    e2 = mask[i + 1]
    if e1 == 0 and e2 == 1:
        start = i + 1
    elif e1 == 1 and e2 == 0:
        segments.append((start, i))
Run Code Online (Sandbox Code Playgroud)

有没有办法用 numpy 有效地做到这一点?

我唯一设法谷歌的是numpy.ma.notmasked_edges,但它看起来不像我需要的。

python arrays numpy

8
推荐指数
1
解决办法
1028
查看次数

计算满足条件的连续值的数量(Pandas Dataframe)

所以我在2 天前创建了这篇关于我的问题的帖子,谢天谢地得到了答案。

我有一个由 20 行和 2500 列组成的数据。每一列都是一个独特的产品,行是时间序列,测量结果。因此每个产品测量 20 次,就有 2500 个产品。

这次我想知道有多少连续行我的测量结果可以保持在特定阈值之上。又名:我想计算高于某个值的连续值的数量,假设为 5。

A = [1, 2, 6 , 8 , 7 , 3, 2, 3, 6 , 10 , 2, 1, 0, 2] 我们以粗体显示这些值,根据我上面的定义,我应该得到 NumofConsFeature = 3 作为结果。(如果满足条件的系列超过1个,则取最大值)

我想过使用 .gt 进行过滤,然后获取索引并在之后使用循环来检测连续的索引号,但无法使其工作。

在第二阶段,我想知道连续系列的第一个值的索引。对于上面的示例,这将是 3。但我不知道如何实现这一点。

提前致谢。

python numpy series dataframe pandas

7
推荐指数
2
解决办法
8550
查看次数

标签 统计

python ×4

numpy ×3

pandas ×2

arrays ×1

cumsum ×1

dataframe ×1

series ×1