小编abe*_*ger的帖子

Python中x [x <2] = 0的含义是什么?

我遇到了一些代码类似的代码

x[x<2]=0
Run Code Online (Sandbox Code Playgroud)

玩弄各种变化,我仍然坚持这种语法的作用.

例子:

>>> x = [1,2,3,4,5]
>>> x[x<2]
1
>>> x[x<3]
1
>>> x[x>2]
2
>>> x[x<2]=0
>>> x
[0, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

python numpy python-2.7

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

根据列索引重命名Dataframe列

是否有内置函数来通过索引重命名pandas数据帧?

我以为我知道列标题的名称,但事实证明第二列中有一些十六进制字符.根据我接收数据的方式,将来可能会遇到第2列的这个问题,因此我无法将这些特定的十六进制字符硬编码到dataframe.rename()调用中.

是否存在一个名为rename_col_by_index()的函数,我无法找到它?

例如:

>>> df = pd.DataFrame({'a':[1,2], 'b':[3,4]})
>>> df.rename_col_by_index(1, 'new_name')
>>> df
   a  new_name
0  1         3
1  2         4
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在 Python 中将嵌套字典位置作为参数传递

如果我有一个嵌套字典,我可以通过索引来获取一个键,如下所示:

>>> d = {'a':{'b':'c'}}
>>> d['a']['b']
'c'
Run Code Online (Sandbox Code Playgroud)

我可以将该索引作为函数参数传递吗?

def get_nested_value(d, path=['a']['b']):
    return d[path]
Run Code Online (Sandbox Code Playgroud)

编辑:我知道我的语法不正确。它是正确语法的代理。

python parameter-passing

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

获取列表切片的补码(相反)

是否有语法来获取不在给定切片内的列表元素?鉴于切片 [1:4] 很容易获得这些元素:

>>> l = [1,2,3,4,5]
>>> l[1:4]
[2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

如果我想要列表的其余部分,我可以这样做:

>>> l[:1] + l[4:]
[1, 5]
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法来做到这一点?我意识到我可能太需要了,因为这已经非常简洁了。

编辑:我不认为这是pythonInvert slice的重复,因为我不想修改我的原始列表。

python list slice

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

Pandas:根据唯一值获取行中的相应列值

我已经想出如何获得我想要的信息,但如果没有更好,更易读的方法,我会感到惊讶.

我想在包含我指定的数据元素的行中的不同列中获取值.例如,'b'中与'a'中的值10对应的值是多少.

>>> df
    a   b   c
0  10  20  30
1  11  21  31
2  12  22  32

>>> df['b'][df[df['a'] == 11].index.tolist()].tolist()
[21]
Run Code Online (Sandbox Code Playgroud)

这就是我目前解决它的方式,但实际上我的数据框并没有如此简洁地命名,而且我有长字符串作为列名,因此该行难以阅读.

编辑:如果'a'中的值不唯一,还有一种方法可以获得'b'中的所有相应值吗?

python pandas

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

在 Python 中将类属性作为该类的函数的参数传递

正如标题所示,我试图将我的类的一个属性作为同一个类的函数的参数传递。在下面的示例中, 的功能是默认print_top_n()打印self.topn,但如果需要,也可以使用不同的值调用该函数。这是Python(或一般编程)犯规还是有办法做到这一点?

>>> class Example():
    def __init__(self, topn=5):
        self.topn = topn
    def print_top_n(self, n=self.topn):
        print n



Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    class Example():
  File "<pyshell#7>", line 4, in Example
    def print_top_n(self, n=self.topn):
NameError: name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

numpy.where 2个以上特定值

numpy.where函数可以用于多个特定值吗?

我可以指定一个特定值:

>>> x = numpy.arange(5)
>>> numpy.where(x == 2)[0][0]
2
Run Code Online (Sandbox Code Playgroud)

但是我想做类似下面的事情。当然,这给出了一个错误。

>>> numpy.where(x in [3,4])[0][0]
[3,4]
Run Code Online (Sandbox Code Playgroud)

有没有一种方法,而无需遍历列表并组合结果数组?

编辑:我也有未知长度和未知值的列表列表,所以我不能轻易地形成np.where()的参数来搜索多个项目。传递列表会容易得多。

python numpy

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

标签 统计

python ×7

numpy ×2

pandas ×2

python-2.7 ×2

list ×1

parameter-passing ×1

slice ×1