Почему датафрейм не отображается в соответствии с заданным условием? - PullRequest
0 голосов
/ 20 апреля 2020
  1. Я хотел создать / отобразить кадр данных в соответствии с условием. Что мне здесь не хватает?
    2. Я также хочу создать фрейм данных в соответствии с целочисленным значением, которое также учитывает значение с плавающей запятой. Например: - train [train ['target'] == 49], тогда также должно отображаться значение 49.10 с плавающей запятой, присутствующее в кадре данных введите описание изображения здесь

1 Ответ

0 голосов
/ 20 апреля 2020

Возможно, из-за того, что значение с плавающей запятой может иметь большое количество десятичных знаков, вы можете установить ограничение, округляя их:

np.random.seed(0)
a = np.random.random(5)
b = np.random.random(5)
df = pd.DataFrame(dict(a = a, b = b))


df.head(2)

#   a           b
# 0 0.548814    0.645894
# 1 0.715189    0.437587

(df.a == 0.548814).head(2) # There is no match here
# 0 False
# 1 False

(df.a.round(6) == 0.548814).head(2) #There is match here by rounding
# 0 True
# 1 False

Если вам нужна только целая часть, используйте метод astype из серии, в пример выше:

df.a = df.a + 1
df.a.head(3)

# 0 1.548814
# 1 1.715189
# 2 1.602763

df[df.a.astype(int) == 1] # this will return a view of all dataframe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...