小编JNe*_*ens的帖子

随机数据帧行

我有以下DataFrame:

    Col1  Col2  Col3  Type
0      1     2     3     1
1      4     5     6     1
...
20     7     8     9     2
21    10    11    12     2
...
45    13    14    15     3
46    16    17    18     3
...
Run Code Online (Sandbox Code Playgroud)

从csv文件中读取DataFrame.所有具有Type1的行都在顶部,其次是具有Type2 的行,然后是具有Type3 的行等.

我想改组DataFrame的行,以便所有的行Type都是混合的.可能的结果可能是:

    Col1  Col2  Col3  Type
0      7     8     9     2
1     13    14    15     3
...
20     1     2     3     1
21    10    11    12     2
...
45     4     5     6 …
Run Code Online (Sandbox Code Playgroud)

python shuffle permutation dataframe pandas

345
推荐指数
8
解决办法
27万
查看次数

通过命令行在Ubuntu上安装Anaconda

我想在远程服务器上安装Anaconda.

服务器正在运行Ubuntu 12.04.

我只能通过SSH访问此服务器.

如何通过命令行安装Anaconda?

python ssh command-line anaconda server

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

检测字符串流结束时的时间

我正在尝试编写一个函数,它将检测我几乎在字符串流的末尾,但它似乎不起作用.

这是一些代码:

std::string path(1.2.3);
int number;
std::stringstream ss(path);
while (!ss.eof()) {
    if (ss.peek() != '.') {
        ss >> number;
        if (ss.tellg() == path.length()) {
            std::cout << "Last one: " << number;
        } else {
            std::cout << number;
        }
    } else { ss.get(); }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用ss.tellg()== path.length(),但这不起作用.有人有替代方案吗?

c++ string stringstream

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

在OpenCV中对齐两个图像

我有两张图片(见下文).这些图像代表一对电缆的轮廓,并使用基于激光的3D三角测量捕获.使用左相机拍摄第一张图像,使用右相机拍摄第二张图像.可以看出,这些图像部分重叠.第一图像上的左侧部分部分地对应于第二图像上的左侧部分.同样适用于正确的部分.我想将这两个图像合并为一个图像,以便相应的部分重叠.

在这些图片旁边,我还可以获得以下信息:

  • H左右相机的3x3单应矩阵
  • K左右摄像头的固有摄像头参数
  • D左右相机的失真系数(其中9个)
  • O左右相机偏移

该数据如下所示.

在Halcon,我尝试使用镶嵌来做到这一点:

  • 使用Harris提取两个图像中的特征点
  • 使用Ransac计算从一个图像到另一个图像的投影变换矩阵.
  • 应用找到的投影变换矩阵.

然而,这种方法并不成功.我正在寻找OpenCV或Halcon中的类似方法一种方法(也在OpenCV或Halcon中),它利用我所拥有的校准数据,例如单应矩阵和相机矩阵.

如果可能的话,请提供充分的解释,因为我刚开始使用Machine Vision.

在此输入图像描述 在此输入图像描述

Hl := [0.00175186,   4.73083e-05, -0.00108921,
       0.000780817, -0.00145615,   0.00118631,
       0.0534139,   -0.030823,     1.0        ]
Kl := [4578.21,   -5.05144, 759.766,
       0.0,     4576.87,    568.223,
       0.0,        0.0,       1.0   ]
Dl := [-0.12573, 0.0533453, -0.575361, -0.0130272, 0.00348033, 0.00852617, -0.0271142, 0.0176706, -0.00575124]
Ol := [0.0, 150.0]

Hr := [0.00173883, -2.94597e-05, 0.00109873,
      -0.00077676, -0.0014687,   0.00121393,
      -0.0653829,  -0.0443924,   1.0        ]
Kr := [4591.96,  -4.55317, 1284.74,
       0.0,    4591.19,     534.317,
       0.0, …
Run Code Online (Sandbox Code Playgroud)

opencv image-processing alignment

11
推荐指数
1
解决办法
845
查看次数

使用Anaconda时使用默认Python

对于Python的开发,我在Mac上使用Miniconda和macos Sierra.但是,我必须使用适用于默认Python(现在/usr/bin/python)的框架.

我的问题是:如何为这个默认的Python安装软件包?如果我使用pip some-package,这将自动安装根conda环境的包.

编辑:正如评论中所讨论的,我同意混淆系统默认版本的Python是一个坏主意.相反,我希望这个SDK能够在conda环境中工作,或者从python.org安装Python 2.7.但是,这些似乎都不起作用!如何使这个工作?

python anaconda

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

使用Python中的事件监视系统

我正在用Python创建一个项目,我想添加一个利用事件和事件处理程序的监视系统.我希望这个系统在整个项目中都可用.我有以下操作:

  • 定义一个事件.该事件可以将一些数据作为参数.
  • 定义监视器.监视器注册某个事件.多个监视器可以注册同一事件.我想创建不同类型的监视器,例如一个用于打印数据,一个用于创建包含数据的图表等.因此,监视器应该是一个类,能够保存它收集的所有数据,直到某些方法(例如打印,创建 - log,...)被调用.
  • 为监视器 - 事件对定义事件处理程序.这定义了给定监视器如何响应给定事件.此操作主要是:将此数据添加到某个监视器类的实例的数据列表中.
  • 一个通知函数,可以在事件发生时通知.这将触发为该事件注册的所有监视器的事件处理程序.理想情况下,notify函数应该可以从项目的任何位置调用.

我该如何创建这样的系统?有没有可以帮助我的图书馆?我特别想知道如何以这样的方式制作这个系统,使其在整个项目中透明化.

python events python-3.x

7
推荐指数
1
解决办法
1352
查看次数

将奇怪的Python日期格式转换为可读日期

我正在使用Python访问某些Web服务的移动API,并且响应包含以下奇怪的日期符号:u'/Date(1409522400000+0200)/'这应该是2014年9月1日.

我不确定这是哪种格式,但我想将其转换为可读的内容,即a date或a datetime或Unix时间.

任何人都可以帮我吗?

python date

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

使用CLOS类实例作为哈希表键?

我有以下课程:

(defclass category ()
    ((cat-channel-name
    :accessor cat-channel-name :initarg :cat-channel-name :initform "" :type string
    :documentation "Name of the channel of this category")
    (cat-min
    :accessor cat-min :initarg :min :initform 0 :type number
    :documentation "Mininum value of category")
    (cat-max
    :accessor cat-max :initarg :max :initform 1 :type number
    :documentation "Maximum value of category"))
    (:documentation "A category"))
Run Code Online (Sandbox Code Playgroud)

现在,我想将此类用作哈希表的键.可以轻松地比较实例的地址eq.但是问题是,这个category类可能有多个相同的实例,我希望哈希表也将它识别为一个键.

所以,我试图像这样覆盖函数的:test参数make-hash-table:

(make-hash-table :test #'(lambda (a b) (and (equal (cat-channel-name a) (cat-channel-name b))
                                            (eq (cat-min a) (cat-min b))
                                            (eq (cat-max …
Run Code Online (Sandbox Code Playgroud)

equality hashtable common-lisp clos

6
推荐指数
3
解决办法
297
查看次数

使用getline跳过空格

我正在制作一个程序来制作问题表格.问题保存到文件中,我想读取它们并将它们存储在内存中(我使用了一个向量).我的问题有以下形式:

1 TEXT What is your name?
2 CHOICE Are you ready for these questions?
Yes
No
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我从文件中读取这些问题时,我使用getline读取一行,然后将其转换为字符串流,读取问题的数量和类型,然后再次使用getline,这次是在字符串流,阅读其余的问题.但它的作用是,它还会读出问题前面的空白区域,当我再次将问题保存到文件中并再次运行程序时,问题前面有2个空格,之后有3个空格和等......

这是我的一段代码:

getline(file, line);
std::stringstream ss(line);
int nmbr;
std::string type;
ss >> nmbr >> type;
if (type == "TEXT") {
    std::string question;
    getline(ss, question);
    Question q(type, question);
    memory.add(q);
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?getline可以忽略空格吗?

c++ string whitespace stringstream getline

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

KNeighborsClassifier得分中的奇怪ValueError

我想绘制K Nearest Neighbors分类器的学习曲线.我有以下代码:

X_train = #training data
Y_train = #target variables
best_neighbors = #number of neighbors which gave highest score (3)

idx = len(X_train)/5000
scores = pd.DataFrame(np.zeros((idx+1, 2)), index=np.arange(1, len(X_train), 5000), columns=['Train Score', 'CV Score'])

for i in range(1, len(X_train), 5000):
    X_train_set = X_train[:i]
    Y_train_set = Y_train[:i]
    neigh = KNeighborsClassifier(n_neighbors = best_neigbors)
    neigh.fit(X_train_set, Y_train_set)

    train_score = neigh.score(X_train, Y_train)
    cv_score = neigh.score(X_test, Y_test)

    scores['Train Score'][i] = train_score
    scores['CV Score'][i] = cv_score
Run Code Online (Sandbox Code Playgroud)

此代码在使用例如决策树或随机森林之前完美地运行,但是在这里我得到以下奇怪的错误:

      ValueError                                Traceback (most recent call last)
<ipython-input-6-95e645e75971> in <module>() …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

5
推荐指数
1
解决办法
1326
查看次数