#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
Часть набора данных
df[df['price'] == (df['price'].min()) | (df['price'].max())]
приведенный выше код выдает пустой набор данных, где он должен быть dataset с 4 строками
когда я выполнил приведенный ниже код, это сработало
df1 = df[df['price'] == df['price'].min()]
df2 = df[df['price'] == df['price'].max()]
df3= pd.concat([df1,df2],ignore_index = True)
кто-нибудь может помочь
Ответ №1:
Вы не можете выполнить |
логическое or подобным образом, вы должны попробовать два условия:
df1 = df[(df['price'] == df['price'].min()) | (df['price'] == df['price'].max())]
Вы также можете использовать eq
==
знак равенства, чтобы избавиться от круглой скобки, вы можете удалить круглую скобку, только если в каждом условии есть только одно выражение, поэтому вы можете попробовать:
df1 = df[df['price'].eq(df['price'].min()) | df['price'].eq(df['price'].max())]
Комментарии:
1. привет .. приведенный выше код не работает. это дает тот же результат
2. @VINAYDM Я отредактировал свой ответ, теперь он должен работать