小编Igu*_*aut的帖子

在Numpy中将子向量分配给多维数组

说我有一个矩阵:

from numpy import *
a = zeros(shape=(nRows,nColumns));
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时,我想用第一列填写:

a[:][0] = ones(shape=(nRows,1))
Run Code Online (Sandbox Code Playgroud)

我明白了:

ValueError: output operand requires a reduction, but reduction is not enabled
Run Code Online (Sandbox Code Playgroud)

为什么不起作用?

python numpy multidimensional-array

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

为什么两个类实例似乎共享相同的数据?

当我遇到意想不到的问题时,我正在用Python做一些工作.我有一个类,两个变量x和y.x和y意味着是类的独立副本,每个副本都有自己的数据.所以我设置x等于类并给它一些值,然后用y做同样的事.一旦我尝试使用该数据,我意识到我覆盖了x的值.似乎我没有创建两个单独的类副本来使用,而是两个引用同一个类.所以这是代码中的一般示例:

x = someClass()
x.set(2, 0)
y = someClass()
y.set(3, 0)
print(x)
Run Code Online (Sandbox Code Playgroud)

最终结果是打印3而不是2.我想创建一个单独的"版本"类来保存每个变量的不同数据.不确定如何.使用Python 3.3.这是该类的代码:

class someClass:
    def __init__(self, list = [0,0,0,0,0,0,0,0,0,0]):
        self.list = list
    def __repr__(self):
        return str(self.list)
    def set(self, loc, val):
        if ((loc >= 0) & (loc <= 9)):
            self.list[loc] = val
Run Code Online (Sandbox Code Playgroud)

python class

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

如何使用python操作表格数据?

我在CSV文件中有基于列的数据,我想以多种方式操作它.人们已经将我指向R,因为它可以让您轻松访问行和列,但我已经熟悉python而非使用它.

例如,我希望能够删除其中一列中具有特定值的所有行.或者我想更改一列的所有值(即修剪字符串).我还希望能够基于公共值聚合行(如SQL GROUP BY).

有没有办法在python中执行此操作而无需每次都编写循环迭代所有行?

python

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

无法导入类

这是我正在制作的游戏.不过我自己也看不到问题.

这是错误和两个.py文件:

C:\Users\Rickard\My Programs\Python\slutarbete\New try>main.py
Traceback (most recent call last):
  File "C:\Users\Rickard\My Programs\Python\slutarbete\New try\main.py", line 6,
 in <module>
    from rabbits import Rabbit
  File "C:\Users\Rickard\My Programs\Python\slutarbete\New try\rabbits.py", line
 3, in <module>
    import main
  File "C:\Users\Rickard\My Programs\Python\slutarbete\New try\main.py", line 6,
 in <module>
    from rabbits import Rabbit
ImportError: cannot import name Rabbit
Run Code Online (Sandbox Code Playgroud)

main.py

# -*- coding: utf-8 -*-

import pygame, sys, random, math
from rabbits import Rabbit
from pigs import Pig
from boars import Boar
from pygame.locals import *
from threading import Timer …
Run Code Online (Sandbox Code Playgroud)

python pygame

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

使用继承类确定Python类的类型

我有多个类都继承自单个基类,这是一个简单的例子:

class DataSource(object):
    pass
class TableDataSource(DataSource):
    pass
Run Code Online (Sandbox Code Playgroud)

如果我想确定这些类是否属于DataSource类型,我想我可以执行以下操作:

>>> tdl = TableDataSource()
>>> print tdl is DataSource
False
Run Code Online (Sandbox Code Playgroud)

所以我在这里回到假,如何检查从DataSource继承的所有类是否都是数据源类型对象,而不必专门检查每个类类型?这样可以更轻松地检查对象类型,以便进行其他功能.

谢谢.

python oop

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

按FITS文件中多列中的值聚合表行

我有一个包含许多列的FITS文件.该文件的简化示例的一部分如下所示:

    A      B      C
   100     1      90
   100     2      90
   100     3      90
   100     4      90
   211     40     70
   211     41     70
   211     42     70
   211     43     70
   211     44     70
Run Code Online (Sandbox Code Playgroud)

如果您注意到这里,A和C列的前四行是相同的,但B列的变化范围是1到4.然后A和C列的下5个值相同,但B列的变化范围是40到44.

我想做的是,写一个程序,创建一个这样的文件:

   A      B     C
  100     4     90
  211     5     70
Run Code Online (Sandbox Code Playgroud)

也就是说,B列应包含A列和C列相同的值的数量!

我想知道在Python中如何做到这一点.它不一定需要处理FITS文件,如果有一些例程无法在FITS文件中使用,我也可以将其转换为ASCII格式.

到目前为止我尝试了什么:

我遇到了一个被调用的例程Collections,它有一个子例程,它调用Counter列表中相等的值并返回它们.

我试过了:

import collections
counter = collections.Counter(a)
counts = counter.values()
Run Code Online (Sandbox Code Playgroud)

但这只能给我A列中相同的值.有人能告诉我如何使用这个例程将这些值与C列进行比较吗?

python fits pyfits

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

验证字节流是否为有效的UTF-8(或其他编码)而不带副本

这也许是一个微优化,但是我想检查给定字节的流在通过我的应用程序时是否是有效的UTF-8,但是我不想保留结果解码后的代码点。换句话说,如果我要调用large_string.decode('utf-8'),假设编码成功,则我不希望保留通过解码返回的unicode字符串,并且希望不浪费内存。

我可以通过多种方式来执行此操作,例如一次读取几个字节,尝试读取decode(),然后追加更多字节直到decode()成功(否则,我已经用完了编码中单个字符的最大字节数)。但是,在ISTM中,应该有可能以一种简单的方式丢弃现有的Unicode字符,而不必自己动手使用现有的解码器。但是搜索stdlib文档没有立即想到的事情。

python character-encoding

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

遍历astropy.table表对象的行

从astropy.table遍历Table对象的行的最聪明方法是什么?

是这样的吗?

for row in table:
    ....
Run Code Online (Sandbox Code Playgroud)

python astropy

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