V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  necomancer  ›  全部回复第 5 页 / 共 32 页
回复总数  623
1  2  3  4  5  6  7  8  9  10 ... 32  
2022-01-10 01:19:44 +08:00
回复了 lozzow 创建的主题 Python 问一个删除元素的问题,要求要求速度快
……能 tm 删帖就好了,我是傻逼……
2022-01-10 01:18:22 +08:00
回复了 lozzow 创建的主题 Python 问一个删除元素的问题,要求要求速度快
对不起我还在脑残中……按照你的思路:
def test(a):
....a = a - np.diag(np.ones(a.shape[0])) # 主元不参与比较
....ind = np.sum(a >= 0.5, axis=0) # 每个节点大于 0.5 的计数
....g = a >= 0.5 # 节点对是否大于 0.5
....drops = []
....while (ind > 0).any():
........i_drop = np.argmax(ind)
........ind = ind - g[i_drop] # 剩下计数减掉被删掉的节点(大于 0.5 则-1 ,否则-0 )
........ind[i_drop] = -1 # 每次删掉计数最大的
........drops.append(i_drop)
....ret = np.delete(a, drops, axis=0)
....ret = np.delete(ret, drops, axis=1)
....return ret, drops
这个很快。几万也行。
2022-01-10 01:02:32 +08:00
回复了 lozzow 创建的主题 Python 问一个删除元素的问题,要求要求速度快
更正一下,这个对节点数好像是 O(N^3),很蠢了……4000 节点需要 36s ,10000 节点应该是 560s ,2 万节点就得一小时+,几万节点的话可能还是不合适。
2022-01-10 00:59:57 +08:00
回复了 lozzow 创建的主题 Python 问一个删除元素的问题,要求要求速度快
按照楼主的思路:
ret = a - np.diag(np.ones(a.shape[0])) # 主元不参与比较
drops = []
idx = np.arange(a.shape[0])
while (ret>=0.5).any():
....i_drop = np.argmax(np.sum(ret > 0.5, axis=0))
....drops.append(idx[i_drop])
....ret = np.delete(ret, i_drop, axis=0)
....ret = np.delete(ret, i_drop, axis=1)
....idx = np.delete(idx, i_drop)
抱歉,应该换算一下 index ,这样 drops 最后给出的就是应该被删除的元素编号,ret 最后是一个都小于 0.5 的矩阵。
2022-01-10 00:57:41 +08:00
回复了 lozzow 创建的主题 Python 问一个删除元素的问题,要求要求速度快
按照楼主的思路:
ret = a - np.diag(np.ones(a.shape[0])) # 主元不参与比较
drops = []
while (ret>=0.5).any():
....i_drop = np.argmax(np.sum(ret > 0.5, axis=0))
....drops.append(i_drop)
....ret = np.delete(ret, i_drop, axis=0)
....ret = np.delete(ret, i_drop, axis=1)
我试了试 10000x10000 的随机数组,粗略估计一下可能需要 4000s+,但 1000x1000 还是挺快的,大约 0.5s ,也就是能容纳 10^3 的节点数,几万个节点估计还是扯淡
看你还有后续需求的样子……试试 mpi4py ?
2021-12-28 19:01:25 +08:00
回复了 wszgrcy 创建的主题 翻译 友链 英文怎么写?
一般就叫 Links 吧
2021-12-27 18:48:34 +08:00
回复了 shawnwang340 创建的主题 程序员 各位有没有 onedrive 的替代品啊,速度真是太慢了吧
试试坚果云?
2021-12-13 13:19:54 +08:00
回复了 gckend 创建的主题 Python 两个占用内存大小 20G+的矩阵做相乘, 10 块 GPU
矩阵分块

|A B| |E F| = | AE+BG AF +BH|
|C D| |G H| |CE+DG CF+DH|
2021-12-07 00:34:34 +08:00
回复了 Poluk 创建的主题 程序员 想问一下计算机组成原理和数据结构与算法的问题
@xiaowei0823 中枪
2021-11-27 11:40:30 +08:00
回复了 dydbm 创建的主题 Apple Mac 2021 款的最大问题不是丑么
@ftu 虾仁猪心←_←
2021-11-17 16:15:39 +08:00
回复了 ihciah 创建的主题 Python 有人尝试过使用 pypi 分发二进制程序吗?
@ihciah miniconda 也就 20M 吧……
2021-11-17 15:11:07 +08:00
回复了 ihciah 创建的主题 Python 有人尝试过使用 pypi 分发二进制程序吗?
conda ?
2021-11-11 00:38:01 +08:00
回复了 keroppi 创建的主题 Python pandas 怎么对比当前行的前面 7 天的所有某列的数字?
In [2]: ret = []

In [2]: for i in range(7, a.shape[0]+1):
...: m = np.argmin(a[i-7:i]) +i -7
...: ret.append((m, a[m], m==i-1))
...:

In [3]: ret
Out[3]:
[(4, 0.1070058697941636, False), # (绝对索引,值,当日是否为当周(前 7 日)最低)
(4, 0.1070058697941636, False),
(4, 0.1070058697941636, False),
(4, 0.1070058697941636, False),
(4, 0.1070058697941636, False),
(7, 0.38082268305528855, False),
(7, 0.38082268305528855, False),
(13, 0.3198102115371413, True),
(13, 0.3198102115371413, False),
(15, 0.26007158139013975, True),
(15, 0.26007158139013975, False),
(15, 0.26007158139013975, False),
(18, 0.1774755070886418, True),
(18, 0.1774755070886418, False)]

In [4]: a
Out[4]:
array([0.59171944, 0.95287085, 0.56036765, 0.91771266, 0.10700587,
0.67920182, 0.40034268, 0.38082268, 0.81140219, 0.78271362,
0.43178875, 0.7328393 , 0.93324926, 0.31981021, 0.74938937,
0.26007158, 0.33768583, 0.78881252, 0.17747551, 0.27862649])
2021-10-23 20:43:59 +08:00
回复了 meisen 创建的主题 互联网 程序员 5 年坚持制作免费教程造福百万学生
@Vhc001 为什么你的评论看起来像动画
2021-10-23 16:02:53 +08:00
回复了 zeronofreya 创建的主题 数学 平面内四个点,怎样保证能构建四角面?
from scipy.spatial import ConvexHull
hull = ConvexHull(verts) # 你的例子里 points = (4,2) array ,一般来说数组形状是(点数,维度)
剩下的看看 hull 的 vertices 就行,这个是寻找平面最大凸多边形算法,详情查书。

当然,如果你的 4 个点里有一个藏在内部了,这个算法返回的是三角形。比如你的 4 个点这么排列,那么返回的是外面的三角形。
*
----*----*
*
居然那么认真回答那个 temtion 问题……
git 上 @AoEiuV020 是好人啊
1  2  3  4  5  6  7  8  9  10 ... 32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5540 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 02:52 · PVG 10:52 · LAX 19:52 · JFK 22:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.