Tôi tiếp tục nhận được ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
khi thử các thử nghiệm boolean với gấu trúc. Không hiểu nó nói gì, tôi quyết định tìm ra nó.Pandas Boolean .any() .all()
Tuy nhiên, tôi hoàn toàn bối rối vào thời điểm này.
Ở đây tôi tạo ra một dataframe của hai biến, với một điểm dữ liệu duy nhất chia sẻ giữa chúng (3):
In [75]:
import pandas as pd
df = pd.DataFrame()
df['x'] = [1,2,3]
df['y'] = [3,4,5]
Bây giờ tôi thử tất cả (là x ít hơn y), mà tôi dịch để "là tất cả các giá trị của x nhỏ hơn y "và tôi nhận được câu trả lời không có ý nghĩa.
In [79]:
if all(df['x'] < df['y']):
print('True')
else:
print('False')
True
Tiếp theo tôi thử bất kỳ (nhỏ hơn y), mà tôi dịch là "có giá trị nhỏ hơn y" và tôi nhận được câu trả lời khác không có ý nghĩa.
In [77]:
if any(df['x'] < df['y']):
print('True')
else:
print('False')
False
Tóm lại: bất kỳ() và tất cả() thực sự làm gì?
tôi nhận được đúng trong cả hai trường hợp. Bạn có chắc đây là ví dụ bạn đang thử nghiệm không? – Marcin
Hãy xem chỉ 'df [' x ']
Tôi không thể tạo lại lỗi mà bạn quan sát. Đối với tôi, 'if any (df ['x']