小编Dan*_*n S的帖子

Numpy 向量化逻辑给出意想不到的输出

我可以发誓这应该返回符合逻辑的三行,但我一生都无法弄清楚为什么只有一行返回。有人可以解释一下吗?

import numpy as np

data = np.array([[1, 2, 3],
                 [2, 5, 6],
                 [7, 8, 9],
                 [4, 3, 4]])

target_sum = 7

x = (((data[:, 0] + data[:, 1])==target_sum) | data[:, 0] ==7)
matching_rows = data[x]

print(matching_rows)
Run Code Online (Sandbox Code Playgroud)

我的终端说:

[[7 8 9]]
Run Code Online (Sandbox Code Playgroud)

但肯定应该说:

[[2 5 6]
 [4 3 4]
 [7 8 9]]
Run Code Online (Sandbox Code Playgroud)

不?

python numpy

4
推荐指数
1
解决办法
36
查看次数

在现有If块中添加新的If语句

我有这个代码比较列A和B,如果A更大,则将1加到B列:

Sub test07()

    With Sheets("Sheet1")

        Dim LastRow As Long, i As Long

        LastRow = Cells(Rows.Count, "A").End(xlUp).Row

        For i = 12 To LastRow

            If Range("A" & i).Value > Range("B" & i).Value Then

                Range("B" & i).Value = Range("B" & i).Value + 1

            End If

        Next i

    End With

End Sub
Run Code Online (Sandbox Code Playgroud)

我想再次添加相同的东西,但使用C和D列,但我得到语法错误,即:

Sub test07()

    With Sheets("Sheet1")

        Dim LastRow As Long, i As Long

        LastRow = Cells(Rows.Count, "A").End(xlUp).Row

        For i = 12 To LastRow

            If Range("A" & i).Value > Range("B" & i).Value Then

                Range("B" …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

3
推荐指数
1
解决办法
61
查看次数

使用(i,j)格式平均范围

我正在撕扯我的头发.我已经尝试了我能想到的每一个变化:

cell = Application.WorksheetFunction.Average((i + 24, j + 2),(i + 70, j + 2))
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏!

excel vba excel-vba

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

标签 统计

excel ×2

excel-vba ×2

vba ×2

numpy ×1

python ×1