相关疑难解决方法(0)

了解切片表示法

我需要在Python的切片表示法上有一个很好的解释(引用是一个加号).

对我来说,这种符号需要一点点提升.

它看起来非常强大,但我还没有完全了解它.

python iterable list slice

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

Python:在__getitem__中实现切片

我正在尝试为我正在创建的类创建切片功能,以创建矢量表示.

到目前为止我有这个代码,我相信它会正确地实现切片,但每当我做一个调用,就像v[4]v是一个向量python返回一个关于没有足够的参数的错误.所以我试图弄清楚如何getitem在我的类中定义特殊方法来处理普通索引和切片.

def __getitem__(self, start, stop, step):
    index = start
    if stop == None:
        end = start + 1
    else:
        end = stop
    if step == None:
        stride = 1
    else:
        stride = step
    return self.__data[index:end:stride]
Run Code Online (Sandbox Code Playgroud)

python slice python-datamodel

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

Python 将切片作为参数传递

我想将切片传递给函数,以便我可以选择列表的一部分。作为字符串传递更可取,因为我将从用户那里读取所需的切片作为命令行选项。

def select_portion(list_to_slice, slicer):
    return(list_to_slice[slicer])

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
slicer = "1:4"

print(select_portion(numbers, slicer))
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

TypeError: list indices must be integers or slices, not str
Run Code Online (Sandbox Code Playgroud)

这是可以理解的,但我不知道如何修改它以获得预期的输出:

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

python slice

12
推荐指数
2
解决办法
3791
查看次数

我怎样才能在变量中使用冒号(:)

我想写这样的代码:

index = 0:2
print(list[index])
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

有什么办法可以将[...:...]语法的所有部分存储在变量中吗?

python variables list python-3.x

8
推荐指数
2
解决办法
1146
查看次数

ValueError:形状不匹配:如果类别是一个数组,它必须是形状 (n_features,)

我创建了一个简单的代码来实现OneHotEncoder

from sklearn.preprocessing import OneHotEncoder
X = [[0, 'a'], [0, 'b'], [1, 'a'], [2, 'b']]
onehotencoder = OneHotEncoder(categories=[0])
X = onehotencoder.fit_transform(X).toarray()
Run Code Online (Sandbox Code Playgroud)

我只是想用方法中调用fit_transformX索引0,所以这意味着对于[0, 0, 1, 2]像你在看X。但它会导致这样的错误:

ValueError: Shape mismatch: if categories is an array, it has to be of shape (n_features,).

任何人都可以解决这个问题?我被困在它上面

python spyder scikit-learn one-hot-encoding

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

如何使用这个pythonic技巧:[:: - 1]

>> a = range(10)
>> print a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Run Code Online (Sandbox Code Playgroud)

该切片给出了反向列表.它是如何工作的?

python

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

熊猫IndexSlice如何工作

我正在关注本教程:GitHub链接

如果您向下滚动(Ctrl + F:练习:选择最受欢迎的啤酒)到显示以下内容的部分Exercise: Select the most-reviewd beers

数据框是多重的: 在此处输入图片说明

要选择评论最多的啤酒:

top_beers = df['beer_id'].value_counts().head(10).index
reviews.loc[pd.IndexSlice[:, top_beers], ['beer_name', 'beer_style']]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何使用IndexSlice,如何在top_beers之后代码仍然运行的情况下跳过冒号?

reviews.loc[pd.IndexSlice[:, top_beers, :], ['beer_name', 'beer_style']] 
Run Code Online (Sandbox Code Playgroud)

有三个索引pofile_namebeed_idtime。为什么pd.IndexSlice[:, top_beers]起作用(未指定如何处理时间列)?

python pandas

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