小编Ana*_*ake的帖子

如何通过python中的属性从对象列表中选择对象

如果已经问过这个问题,我很抱歉,但我认为我不知道通过谷歌搜索合适的解决方案的正确术语.

我想通过它的属性值从对象列表中选择一个对象,例如:

class Example():
    def __init__(self):
        self.pList = []
    def addPerson(self,name,number):
        self.pList.append(Person(self,name,number))

class Person():
    def __init__(self,name,number):
        self.nom = name
        self.num = number


a = Example()
a.addPerson('dave',123)
a.addPerson('mike',345)

a.pList #.... somehow select dave by giving the value 123
Run Code Online (Sandbox Code Playgroud)

在我的情况下,数字将始终是唯一的

谢谢您的帮助

python oop

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

在python中显示对象的属性

我想显示一个给对象的属性,并想知道是否有一个python函数.例如,如果我有以下类中的对象:

class Antibody():

    def __init__(self,toSend):

        self.raw = toSend
        self.pdbcode = ''
        self.year = ''
Run Code Online (Sandbox Code Playgroud)

我可以获得类似于此类似的输出:

['self.raw','self.pdbcode','self.year']
Run Code Online (Sandbox Code Playgroud)

谢谢

python oop list

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

Python - 小数位(将浮点数放入字符串)

我一直在使用这种格式:

print 'blah, blah %f' %variable
Run Code Online (Sandbox Code Playgroud)

将变量放入字符串.我听说它比'+ str()+'方法更加pythonic,并且已经习惯了它.有没有办法用%f指定添加到字符串的小数位?我在提供变量之前尝试过舍入数字.

谢谢

python string floating-point

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

matplotlib plt.show()只选择对象

我有几个plt.plot实例,我只想要plt.show()某些对象.这里说明一些代码:

import matplotlib.pyplot as plt

ax1 = plt.plot(range(5),range(5))
ax2 = plt.plot([x+1 for x in range(5)],[x+1 for x in range(5)])
ax3 = plt.plot([x+2 for x in range(5)],[x+2 for x in range(5)])

#plt.show([ax1,ax2])
plt.show()
Run Code Online (Sandbox Code Playgroud)

所以我希望像注释掉的语句一样,在示例图中只显示ax1和ax2.

python matplotlib

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

填充1D numpy数组的最快方法

我见过类似的问题,但没有直接解决这个问题.我有以下两种方法来填充数组,使用np.zeros()的一半时间更快,一半的时间直接更快.有更好的方法吗?我很擅长使用numpy数组,并且已经参与了加速我的代码的目的,而不是过多地考虑可读性.

import numpy as np
import time

lis = range(100000)

timer = time.time()
list1 = np.array(lis)
print 'normal array creation', time.time() - timer, 'seconds'

timer = time.time()
list2 = np.zeros(len(lis))
list2.fill(lis)
print 'zero, fill - array creation', time.time() - timer, 'seconds'
Run Code Online (Sandbox Code Playgroud)

谢谢

python numpy

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

python词典 - 每个值的两个键

嗨我相当肯定你不能这样做,但我想知道你是否可以有一个字典,其中每个值可以通过两个键访问,而无需复制字典.

我想这样做的原因是两个键代表相同的东西,但一个将是缩短版本,例如.'TYR'和'Y'都具有相同的值.

python dictionary

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

Emacs - 禁用返回和退格键

我最近感觉RSI设置(我以前有过).

我一直在关注我的手和右手弯曲以按下退格键和返回键的效果似乎导致了很多问题.

我已经定义了"Md"向后删除,这很好,我知道"Cm"进入换行符但我仍然不由自主地按下实际的键,所以我想在emacs中禁用它们.

我试过这个:

(global-unset-key "\r")
Run Code Online (Sandbox Code Playgroud)

但这也打破了"Cm"所以我添加了这一行:

(global-set-key "\C-m" 'newline)
Run Code Online (Sandbox Code Playgroud)

但这也恢复了返回键.

请告诉我如何在保持其他绑定的同时取消绑定返回和退格键

emacs

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

wxpython中的wx.ICON_选项列表

我很难找到wxpython中所有内置图标的列表.

到目前为止我发现了

wx.ICON_INFORMATION
wx.ICON_EXCLAMATION
Run Code Online (Sandbox Code Playgroud)

如果你知道这样的清单,我将不胜感激.或者,请保留未包含的任何内容.

谢谢

python icons wxpython

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

加入两个Spark mllib管道

我有两个独立的DataFrames,每个都有几个不同的处理阶段,我mllib在管道中使用变换器来处理.

我现在想要将这两个管道连接在一起,保持每个管道的功能(列)DataFrame.

Scikit-learn有FeatureUnion处理这个的类,我似乎找不到相应的mllib.

我可以在一个管道的末尾添加一个自定义变换器阶段,该管道将另一个管道生成的DataFrame作为属性并将其连接到transform方法中,但这看起来很混乱.

python scala apache-spark apache-spark-ml apache-spark-mllib

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

将nD numpy数组折叠为一维数组

我试图将特定轴上的nD数组的值相加以有效地将其折叠成一维数组.我一直在浏览文档,但未能找到合适的功能.我将尝试用一些代码更好地解释我的问题:

In [46]: g
Out[46]: 
array([[1, 2, 3],
       [1, 2, 3],
       [1, 2, 3],
       [1, 2, 3],
       [1, 2, 3]])
Run Code Online (Sandbox Code Playgroud)

我需要的输出是:

array([5,10,15])
Run Code Online (Sandbox Code Playgroud)

我的实际数据是一个7 MB的文件,所以我真的不想使用for循环.

谢谢您的帮助

python arrays numpy

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

python random.sample在所有可能的结果后停止采样

我使用random.sample来采样所有可能的数据集组合(约150集).我将测试的样本大小为3,4和5,数据集的范围在2到20个项目之间.

每个数据点将是一个字符串,例如'101A'.我只是将随机采样循环1000次并将这些点存储为有序的连接字符串以取消重复.例如

d['2-101a-124'] = 0 
Run Code Online (Sandbox Code Playgroud)

然后提取数据然后按' - '分割数据.有没有更好的方法呢?限制随机抽样以获得所有组合的次数?

编辑:为了澄清,我需要列表的所有可能组合,即

dataset = ['1','2','3A','4']
Run Code Online (Sandbox Code Playgroud)

当采样3个数据点时,我需要所有组合,如:

combination 1 = ['1','2','3A']
combination 2 = ['2','3A','4']
combination 3 = ['1','3A','4']
combination 4 = ['1','2','4']
Run Code Online (Sandbox Code Playgroud)

python random dictionary

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

无法在C中编译基础教程

我刚开始尝试学习C并且一直在尝试做教程,但是他们不会编译.错误似乎表明我使用64位操作系统(狮子)是一个问题,但我不明白这样一个简单的程序会是怎么回事.

代码:(直接从'thenewboston'教程中复制)

#include <stdio.h>

int main(void)
{
    printf("Hello World");
    getch();
}
Run Code Online (Sandbox Code Playgroud)

然后我在终端输入了这个:

gcc tnb_1.c
Run Code Online (Sandbox Code Playgroud)

而我得到的错误是:

Undefined symbols for architecture x86_64:
  "_getch", referenced from:
      _main in cc2nMvOk.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我使用的编译器是与xcode一起安装的标准编译器.

我很抱歉,如果这个问题有明显的答案,但由于我无法超越第一道障碍,我发现很难学到任何东西.

谢谢您的帮助

c gcc osx-lion

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

Matplotlib imshow - 显示不同的颜色

我有浮点数的n个矩阵(np.array),我想用imshow将它们绘制在一起,但每个颜色的值都有不同的颜色范围.例如,n = white-> blue,n + 1 = white - > red等.有没有办法做到这一点?

矩阵具有相同的大小,并且相互着色不是太大问题,因为大多数矩阵的值为0(希望是白色).

我想的是:

第一个矩阵

000
010
000
Run Code Online (Sandbox Code Playgroud)

第二个矩阵

000
000
001
Run Code Online (Sandbox Code Playgroud)

所以我想也许我可以把第二个矩阵转换成:

222
222
223
Run Code Online (Sandbox Code Playgroud)

然后将0-> 1白色变为蓝色,2-> 3白色变为红色.

遗憾的是,我不知道如何使用matplotlib色彩图进行此操作.

python numpy matplotlib

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