给定n维空间中的两组点,一个映射点如何从一组映射到另一组,以使每个点仅使用一次,并且使成对的点之间的欧式距离最小化?
例如,
import matplotlib.pyplot as plt
import numpy as np
# create six points in 2d space; the first three belong to set "A" and the
# second three belong to set "B"
x = [1, 2, 3, 1.8, 1.9, 3.4]
y = [2, 3, 1, 2.6, 3.4, 0.4]
colors = ['red'] * 3 + ['blue'] * 3
plt.scatter(x, y, c=colors)
plt.show()
Run Code Online (Sandbox Code Playgroud)
因此,在上面的示例中,目标是将每个红点映射到一个蓝点,以使每个蓝点仅使用一次,并且使两点之间的距离之和最小。
我碰上了这个问题,这有助于解决问题的第一部分-计算所有对点之间的距离跨越使用集scipy.spatial.distance.cdist()功能。
从那里,我可能可以测试每一行中单个元素的每个排列,并找到最小值。
我想到的应用程序涉及3维空间中相当少量的数据点,因此蛮力方法可能很好,但是我想我先检查一下是否有人知道一种更有效或更优雅的解决方案。
我有一个稀疏矩阵,其形状为570000*3000.我试图尼玛做NMF(使用默认的NMF方法,并设定max_iter至65岁).但是,我发现nimfa很慢.有人用更快的库来做NMF吗?
有人可以解释一下如何操作apply()和sapply()操作数据框列之间的区别吗?
例如,在尝试查找数据框中每一列的类时,我的第一个倾向是apply在列上使用:
> apply(iris, 2, class)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
"character" "character" "character" "character" "character"
Run Code Online (Sandbox Code Playgroud)
然而,这是不正确的,因为一些列是数字:
> class(iris$Petal.Length)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)
在 Google 上进行快速搜索,找到了该问题的解决方案,该解决方案使用sapply而不是apply:
> sapply(iris, class)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
"numeric" "numeric" "numeric" "numeric" "factor"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,sapply隐式转换iris为列表,然后将函数应用于列表中的每个条目,例如:
> class(as.list(iris)$Petal.Length)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)
我仍然不清楚的是为什么我最初的尝试apply没有奏效。
任何人都知道如何使用Aptana Studio 3禁用CSS验证?在3.0.4版中,即使在完全禁用W3C CSS Validator之后,警告仍然存在.
有任何想法吗?
有谁知道如何使用 dplyr 来计算 和 的平均值之间的差异,some_var == TRUE并按some_var == FALSE第三个变量分组?
例如,给出以下示例数据框:
library('dplyr')
dat <- iris %>%
mutate(wide=Sepal.Width > 3) %>%
group_by(Species, wide) %>%
summarize(mean_width=mean(Sepal.Width))
dat
# A tibble: 6 x 3
# Groups: Species [?]
Species wide mean_width
<fctr> <lgl> <dbl>
1 setosa FALSE 2.900000
2 setosa TRUE 3.528571
3 versicolor FALSE 2.688095
4 versicolor TRUE 3.200000
5 virginica FALSE 2.800000
6 virginica TRUE 3.311765
Run Code Online (Sandbox Code Playgroud)
有谁知道一种方法来派生一个新的数据框,其差异为wide == TRUE和wide == FALSE,按物种?
这可以使用几个语句来完成:
false_vals <- …Run Code Online (Sandbox Code Playgroud) 我现在有一个在python中硬编码的查找表,看起来像:
lookup = {
"\x85": u'...', # ...
"\x91": u"'",
...
}
Run Code Online (Sandbox Code Playgroud)
我想将映射移动到外部文件以使其更易于管理,但是无法找到存储x转义字符代码的方法并将其读回.而不是'\ x85',我最终用'\ x85'.
有任何想法吗?
所以我一直在开始编写 bash 脚本,并且我正在制作一个将从源代码自动安装的脚本(所以基本上它只是为你编译 tarball)。我需要它来更改目录才能转到 tarball。但是,每当我使用此命令时
read path
cd $path
Run Code Online (Sandbox Code Playgroud)
我总是收到错误tar-installer.sh: line 13: cd: ~: No such file or directory
对于任何需要它的人,这里是完整的脚本......
#!/bin/bash
# This program auto-installs tarballs for you.
# I designed this for Linux noobies who don't
# know how to install tarballs. Or, it's for
# people like me who are just lazy, and don't
# want to put in the commands ourselves.
echo "Tar Installer v1.1"
echo "Gnu GPL v2.1"
echo -n "Path to tarball:"
read path …Run Code Online (Sandbox Code Playgroud)