@melniy4uk

Почему меняется Dataframe?

Доброго времени! Подскажите куда копать?

Есть DataFrame:


DataFrame

close trend
2019-01-01 04:00:00 0.035585 1
2019-01-01 04:05:00 0.035576 -1
2019-01-01 04:10:00 0.035561 -1
2019-01-01 04:15:00 0.035585 -1
2019-01-01 04:20:00 0.035547 -1
2019-01-01 04:25:00 0.035562 -1
2019-01-01 04:30:00 0.035516 -1
2019-01-01 04:35:00 0.035523 -1
2019-01-01 04:40:00 0.035570 -1
2019-01-01 04:45:00 0.035552 1
2019-01-01 04:50:00 0.035563 1
2019-01-01 04:55:00 0.035555 1
2019-01-01 05:00:00 0.035554 1
2019-01-01 05:05:00 0.035528 -1
2019-01-01 05:10:00 0.035510 -1
print(len(df))
Ответ: 1000

df["up"] = df.close[df['trend'] == 1]
print(len(df))


Ответ: ~500

spoiler

2019-01-01 04:00:00 0.035585 1 0.035585
2019-01-01 04:45:00 0.035552 1 0.035552
2019-01-01 04:50:00 0.035563 1 0.035563
2019-01-01 04:55:00 0.035555 1 0.035555
2019-01-01 05:00:00 0.035554 1 0.035554
2019-01-01 06:00:00 0.035473 1 0.035473
2019-01-01 06:05:00 0.035454 1 0.035454
2019-01-01 06:10:00 0.035517 1 0.035517
2019-01-01 06:15:00 0.035545 1 0.035545
2019-01-01 06:20:00 0.035513 1 0.035513
2019-01-01 06:25:00 0.035519 1 0.035519
2019-01-01 06:30:00 0.035537 1 0.035537


Что происходит я понимаю))) Но как сделать так что бы при не выполнение условия ставило Nan?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
@peshenka
Да, я torch
Потому что тут:
df['trend'] == 1
Ты выбираешь только те строки, в которых колонка trend имеет значение 1. Все работает как надо.

Если ты хочешь заменить -1 на иное значение, воспользуйся df.replace:
df.replace({'trend': {-1: NaN}})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы