小编goe*_*ash的帖子

numpy中这些数组形状之间的差异

2个阵列的形状有什么区别 -

(442,1)(442,)

打印这两个产生相同的输出,但当我检查相等==时,我得到一个这样的2D矢量 -

array([[ True, False, False, ..., False, False, False],
       [False,  True, False, ..., False, False, False],
       [False, False,  True, ..., False, False, False],
       ..., 
       [False, False, False, ...,  True, False, False],
       [False, False, False, ..., False,  True, False],
       [False, False, False, ..., False, False,  True]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

有人可以解释这个区别吗?

python arrays numpy

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

在csv中写入io.BytesIO在python3中失败

我正在尝试编写python 2/3兼容代码来将字符串写入csv文件对象.这段代码:

line_as_list = [line.encode() for line in line_as_list]
writer_file =  io.BytesIO()
writer = csv.writer(writer_file, dialect=dialect, delimiter=self.delimiter)
for line in line_as_list:
    assert isinstance(line,bytes)
    writer.writerow(line)
Run Code Online (Sandbox Code Playgroud)

在Python3上给出了这个错误:

>           writer.writerow(line)
E           TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

但是assert对类型没有问题,为什么要csv创建错误呢?

我不能BytesIO只用于Python 2和3吗?这里的问题在哪里?

python csv string bytesio python-3.x

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

不要在JUnit测试中显示抛出的异常消息的堆栈跟踪

在测试抛出异常消息的消息值时,如下所示:

public void mustFailIfTheActionDoesNotExist() {
        try {
            getAction(UUID.randomUUID().toString());

            fail("Must fail if the action does not exists");
        } catch (MyException ex) {
            Assert.assertEquals("Exception generated on action", ex.getMessage());
        }
Run Code Online (Sandbox Code Playgroud)

异常及其堆栈跟踪在终端上可见.由于我的项目中有数百个类,因此终端只会成为异常消息堆栈跟踪的长列表.

有没有办法在运行Junit测试时抑制异常输出到屏幕/终端的堆栈跟踪?

PS:我不想在特定情况下禁止所有单元测试的日志记录.

java junit4

9
推荐指数
2
解决办法
5798
查看次数

sh脚本未将ssh密钥添加到ssh-agent(Windows git bash)

我正在Windows 7上使用Windows的Github。我有一个bash脚本,可以将ssh-key添加到我的ssh-agent中。我已经设置了一个ssh远程仓库。

add_key.sh

#!/bin/bash    
cd ../ssh/
eval $(ssh-agent)
ssh-add id.rsa
cd ../htdocs/
Run Code Online (Sandbox Code Playgroud)

执行命令

./add_key.sh
Run Code Online (Sandbox Code Playgroud)

它返回

Agent pid 5548
Identity added: id.rsa (id.rsa)
Run Code Online (Sandbox Code Playgroud)

当我git push origin master时,它失败了。但是,当我手动在ssh目录中cd并运行与ssh相关的相同命令并将cd返回我的目录htdocs和git push到origin master时,它可以工作。

为什么会这样呢?

windows git ssh bash push

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

将dict保存为JSON,以便它们是人类可读的

当使用json.dump保存dict时,它只是一个单行.我想让这个像人类可读的格式,如本网站的确 - https://jsonformatter.curiousconcept.com

我怎么能在python中这样做?我试图捕获pprint输出,但它是一个无效的字符串来存储JSON.

具体来说,是否有一种可接受的默认方式直接在python中执行此操作?

python json human-readable

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

基于单行中的频率将分类变量转换为数字

这类似于scikit-learn 中的LabelEncoder,但要求数值分配按类别的频率顺序发生,即较高的出现类别被分配最高/最低(取决于用例)编号。

例如,如果变量可以[a, b, c]采用频率值,例如

  Category 
0        a 
0        a 
0        a 
0        a 
0        a 
1        b 
1        b 
1        b 
1        b 
1        b 
1        b 
1        b 
1        b 
1        b 
1        b 
2        c 
2        c 
Run Code Online (Sandbox Code Playgroud)

a出现5次,b出现10次,c出现2次。然后我希望替换完成为b=1,a=2c=3

python numpy pandas scikit-learn

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

将混淆矩阵打印到文件会产生非法字符

我正在将一组存储为元组的图像分类为csv文件。我在终端显示器上得到的混淆矩阵是正确的。但是当我写同样的conf。矩阵到文件,它会产生非法字符(32位十六进制)。这是代码-

from sklearn.metrics import confusion_matrix
import numpy as np 
import os
import csv
from sklearn import svm
from sklearn import cross_validation
from sklearn import linear_model
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
from sklearn import metrics
import cPickle

def prec(num):
    return "%0.5f"%num

outfile = open("output/linear_svm_output.txt","a")

for dim in [20,30,40]:
    images=[]
    labels=[]
    name = str(dim)+"x"+str(dim)+".csv"
    with open(name,'r') as file:
        reader = csv.reader(file,delimiter=',')
        for line in file:
            labels.append(line[0])
            line=line[2:] # Remove the label
            image=[int(pixel) for pixel in line.split(',')]
            images.append(np.array(image))

    clf = …
Run Code Online (Sandbox Code Playgroud)

scipy confusion-matrix scikit-learn

4
推荐指数
1
解决办法
2284
查看次数

使用Google Drive API创建文件夹:资源没有“插入”方法

我想使用Python API在Google驱动器上创建一个文件夹。这是函数:

def create_folder(file_path, parentId=None):
    body = {
    'name': os.path.basename(file_path),
    'mimeType': "application/vnd.google-apps.folder"
    }
    if parentId:
        body['parents'] = parentId

    results = service.files().insert(body=body).execute()
    return results
Run Code Online (Sandbox Code Playgroud)

但是它给出了错误:

AttributeError: 'Resource' object has no attribute 'insert'
Run Code Online (Sandbox Code Playgroud)

我认为它会像此处的getlist方法一样工作-https ://developers.google.com/drive/v2/reference/files#methods

我在这里找到了答案: 如何使用Python中的Google Drive API创建新文件夹?

我想念什么?

python google-drive-api

4
推荐指数
1
解决办法
3594
查看次数

readfile()回调调用两次

我是nodejs和callbacks的新手.

所以我有这个代码,当我通过HTTP启动对服务器的请求时,我读取文件:

var http = require("http");
var fs = require("fs");

http.createServer(function(request,response){

    response.writeHead(200,{'Content-Type':'text/plain'});
    response.end("Server runnning...");

    fs.readFile('new.txt',function(err,data){
        if(err){
            console.error(err);
            return;
        }
        console.log(data.toString());
    });

}).listen(1234);
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,文件的内容在控制台上显示/记录两次.

lorem ipsum
lorem ipsum
Run Code Online (Sandbox Code Playgroud)

文件内容是:

lorem ipsum
Run Code Online (Sandbox Code Playgroud)

javascript node.js

4
推荐指数
1
解决办法
312
查看次数

如何在livesearch查询开头搜索通配符?

当我输入字符串字符串"cli"时,我得到的结果如"客户端1","客户端2"等.但是当我输入"谎言"时,我得不到任何结果.似乎只在最后添加了通配符.

如何将此功能添加到我的网站?

plone plone-4.x

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