Интересно, когда заменить 0 в серии (или в информационном кадре), False также будет заменен? - PullRequest
0 голосов
/ 01 сентября 2018

Интересно, если я заменит все целое число 0 во фрейме данных, будет ли также заменен False? Я попробовал мой MacBook, и он не заменяется, но один из моих друзей говорит, что его заменяют. Интересно, это зависит от того, какую машину вы используете?

1 Ответ

0 голосов
/ 01 сентября 2018

Будет ли False заменено, зависит от типа d серии:

In [12]: pd.Series([0, 1]).replace(0, 99)
Out[12]: 
0    99
1     1
dtype: int64

In [13]: pd.Series([0.0, 1.0]).replace(0, 99)
Out[13]: 
0    99.0
1     1.0
dtype: float64

In [14]: pd.Series([False, True]).replace(0, 99)
Out[14]: 
0    False
1     True
dtype: bool

In [15]: pd.Series([0, 0.0, False, 1.0]).replace(0, 99)
Out[15]: 
0    99.0
1    99.0
2    99.0
3     1.0
dtype: float64

Если он не заменяется, вероятно, в вашей серии dtype = bool, и поэтому pandas решила обратить внимание на разницу типов. Если ваша серия имеет dtype = object, она обрабатывается как набор объектов уровня Python (что в принципе и есть), а после False == 0 == 0.0 все три заменяются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...