小编the*_*att的帖子

检查NumPy数组中是否存在值的最有效方法是什么?

我有一个非常大的NumPy数组

1 40 3
4 50 4
5 60 7
5 49 6
6 70 8
8 80 9
8 72 1
9 90 7
.... 
Run Code Online (Sandbox Code Playgroud)

我想检查数组的第一列中是否存在值.我有一堆本土方式(例如遍历每一行并检查),但考虑到数组的大小,我想找到最有效的方法.

谢谢!

python performance numpy

51
推荐指数
4
解决办法
12万
查看次数

将MySQL结果集转换为NumPy数组的最有效方法是什么?

我正在使用MySQLdb和Python.我有一些基本的查询,例如:

c=db.cursor()
c.execute("SELECT id, rating from video")
results = c.fetchall()
Run Code Online (Sandbox Code Playgroud)

我需要"结果"作为NumPy数组,而且我希望我的内存消耗更经济.似乎逐行复制数据会非常低效(需要双倍的内存).有没有更好的方法将MySQLdb查询结果转换为NumPy数组格式?

我想要使​​用NumPy数组格式的原因是因为我希望能够轻松地对数据进行切片和切块,并且在这方面看起来python对于多维数组似乎并不友好.

e.g. b = a[a[:,2]==1] 
Run Code Online (Sandbox Code Playgroud)

谢谢!

python etl numpy mysql-python

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

在AWS EC2 Linux实例上安装Chrome时出错:未找到scaling_cur_freq和scaling_max_freq

我正在尝试在 AWS EC2 实例上安装 Chrome(与 Chromedriver / selenium 一起使用),但出现了以前从未见过的错误。我能够一致地重现,但在谷歌上找不到任何关于该怎么做的信息。

重现步骤:

  1. 启动新的 EC2 实例(Amazon Linux 2、64 位 x86、t2.Micro)
  2. 连接到实例并运行以下命令:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum install -y ./google-chrome-stable_current_*.rpm
google-chrome & 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[1122/164219.101517:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[1122/164219.101672:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
Run Code Online (Sandbox Code Playgroud)

非常感谢对此的任何建议 - 谢谢!

linux google-chrome amazon-ec2 selenium-chromedriver

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

最有效的方法来汇总巨大的2D NumPy数组,按ID列分组?

我有一个海量数据阵列(500k行),看起来像:

id  value  score
1   20     20
1   10     30
1   15     0
2   12     4
2   3      8
2   56     9
3   6      18
...
Run Code Online (Sandbox Code Playgroud)

如您所见,左侧有一个非唯一ID列,第三列中有各种分数.

我希望快速添加按ID分组的所有分数.在SQL中,这看起来像SELECT sum(score) FROM table GROUP BY id

使用NumPy,我尝试迭代每个ID,按每个ID截断表,然后将该表的得分相加.

table_trunc = table[(table == id).any(1)]
score       = sum(table_trunc[:,2])
Run Code Online (Sandbox Code Playgroud)

不幸的是,我发现第一个命令是狗慢.有没有更有效的方法来做到这一点?

python numpy

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

有效地删除NumPy中的行

我有一个大的numpy数组,有很多ID值(称之为X):

X:
id   rating
1    88
2    99
3    77
4    66
...
Run Code Online (Sandbox Code Playgroud)

我还有另一个numpy"坏ID"数组 - 它表示我想从X中删除的行.

B: [2, 3]
Run Code Online (Sandbox Code Playgroud)

所以,当我完成后,我想:

X:
id   rating
1    88
4    66
Run Code Online (Sandbox Code Playgroud)

没有迭代,最简洁的方法是什么?

python numpy

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