Ввод нулевых значений через параметр «default» в np.select - PullRequest
0 голосов
/ 27 сентября 2018

Попытка записать значения в столбец при определенных условиях, по умолчанию в качестве значения Null со следующим кодом:

df[col] = np.select(conditions,choices,default=np.nan)

Но в качестве строкового значения в столбце приводится значение «nan».Есть ли способ напрямую изменить его на ноль из этого кода?Пробовал то же самое с np.Nan и np.NAN, все равно без изменений.

Ответы [ 2 ]

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

Нашли правильное решение:

df[col] = np.select(conditions,choices,default=None)
0 голосов
/ 27 сентября 2018

Только что проверил сам и работает нормально.Проверьте вывод np.select(conditions,choices,default=np.nan) вручную, может быть, где-то есть строки "NaN" в choices.

Попробуйте указать dropna=True вручную в .value_counts(), возможно, для него задано значение по умолчанию False smh?

Что я проверял это с:

import numpy as np
import pandas as pd

iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
iris['sepal_length'] = np.select(iris.values[:,:4].T>5, iris.values[:,:4].T, default=np.nan)

print(iris['sepal_length'].value_counts())
print(iris.sepal_length.value_counts(dropna=False))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...