小编Guy*_*ash的帖子

事件开始结束到python中的热编码

我有一个带有 2 列“类型”和“符号”的熊猫数据框,如下所示

    type    sign
0   open    A
1   open    B
2   open    D
3   close   B
4   close   D
5   open    B
6   close   B
7   close   A
Run Code Online (Sandbox Code Playgroud)

"A" + "open" 表示事件 A 已经开始发生。"A" + "close" 表示事件 A 已经停止。当时间是一个主要问题时,我需要对其进行矢量化(该列表实际上大约有 4000 万行)。有点像单热编码,但当且仅当事件是“活动的”时,我需要“1”才能存在。例如,对于这种情况,结果应该是:

    A   B   C   D   type    sign
0   1   0   0   0   open    A
1   1   1   0   0   open    B
2   1   1   0   1   open    D
3   1   0   0   1   close   B
4   1   0   0 …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas one-hot-encoding

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

创建大小为 N 的数字 0-9 的所有排列 - 使用 numpy\scipy 尽可能优化

我需要创建一个大小为 N 的数字 0-9 的所有排列的数组(输入,1 <= N <= 10)。

\n

我试过这个:

\n
np.array(list(itertools.permutations(range(10), n)))\n
Run Code Online (Sandbox Code Playgroud)\n

对于 n=6:

\n
timeit np.array(list(itertools.permutations(range(10), 6)))\n
Run Code Online (Sandbox Code Playgroud)\n

在我的机器上给出:

\n
68.5 ms \xc2\xb1 881 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 10 loops each)\n
Run Code Online (Sandbox Code Playgroud)\n

但它根本不够快。\n我需要它低于 40 毫秒。

\n

注意:\n我无法从 numpy 版本 1.22.3 更改机器

\n

python numpy scipy

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

对具有一些交叉索引的数据帧求和

我有 2 个带有一些通用索引的数据帧,有些则不是:

df1
   DATA
1     1
2     2
3     3
4     4
5     5

df2
   DATA
3     3
4     4
5     5
6     6
7     7
Run Code Online (Sandbox Code Playgroud)

我想对它们求和/取最大值(对于不同的列,我实际上需要两者),并将缺失的索引视为 0。在这个例子中,结果应该是:

df_results
   DATA
1     1
2     2
3     6
4     8
5    10
6     6
7     7
Run Code Online (Sandbox Code Playgroud)

其中 3,4,5 相加,但其余保持不变。

谢谢!

python pandas

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