Lỗi điều kiện trong python code

Đoạn cod của mình như sau:

conditions=[(df['acb']<=1000000, 
(df['acb']>1000000) & (df['acb']<=10000000),
(df['acb']>10000000)]
values=['n1','n2','n3']
df['new_column']=np.select(conditions,values)
print(df)

Lỗi:

value errors: list of cases must be same length as list of conditions

Mình đã tìm trên google và thử làm cách nhưng không cách nào giải quyết được cái lỗi này. Có bạn nào biết cách giải quyết khôgn chỉ mình với. Mình hậu tạ

Bạn thử in ra len(conditions)len(values) xem có bằng nhau không?

3 Likes

mình không chắc có đúng không nhưng mình in. thì thấy nó lệch nhau về số là 1 và 3. Vậy thì mình đã cái gì vậy bạn, giúp mình sửa với

Giờ mới để ý, không biết do bạn chép thiếu hay “dư” 1 dấu ngoặc tròn.

[(df['acb']<=1000000, <==
(df['acb']>1000000) & (df['acb']<=10000000),
(df['acb']>10000000)]

Có thể có dấu ngoặc tròn ở cuối mảng dẫn đến đoạn trên thực chất là 1 tuple bên trong 1 mảng.

2 Likes

ờ ha mình đã viết dư một dấu ngoặc tròn. Thanks bạn nhiều nhé

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?