簡體   English   中英

“方法” object 不可下標。 我不知道哪個是錯的

[英]'method' object is not subscriptable. I don't know which is wrong

有人可以幫我在哪里弄錯了嗎

data_pad = []
for key in np.unique(df['unique-key']):
    data_pad += [df[df.reindex[:, 'unique-key'] == key].reindex[:, ['distance', 'direction', 'gridID']]]

好像您使用語法錯誤的DataFrame.reindex方法。

這是來自鏈接的示例

df.reindex(new_index, fill_value=0)

讓我們理解錯誤。 首先-下標是什么意思? 在這里您可以找到詳細的答案,但通常這意味着可以使用[]語法調用 object

l = [1,2,3]
print(l[0]) # works, l is subscriptable
x = 5
print(x[0]) # TypeError: 'int' object is not subscriptable

我們很接近,所以現在我們知道我們在 object 上使用[]是不可下標的,並且正如錯誤所說,object 是方法

class A:
    def my_method(self, param):
        print(param)


a = A()
a.my_method(0) # prints 0
a.my_method[0] # TypeError: 'method' object is not subscriptable

瞧。 我們現在可以懷疑我們的問題是因為我們使用了方括號而不是經典方法,正如其他建議的那樣,它是reindex方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM