2
У меня есть dataframeЗаливка NaN значения
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR
2016-01-01 00:00:00 116 HC 250
2016-01-01 00:10:00 121 HC 250
2016-01-01 00:20:00 121 NaN 250
Чтобы использовать эту dataframe, я должен заполнить значения NaN путем (HC или HP) на основе этого условия:
If (hour extracted from TIMESTAMP is in {0,1,2, 3, 4, 5, 22, 23}
Так что заменить NaN от HC, еще HP. я сделал эту функцию:
def prep_data(data):
data['PERIODE_TARIF']=np.where(data['PERIODE_TARIF']in (0, 1,2, 3, 4, 5, 22, 23),'HC','HP')
return data
Но я получаю эту ошибку:
ValueError Traceback (most recent call last)
<ipython-input-23-c1fb7e3d7b82> in <module>()
----> 1 prep_data(df_energy2)
<ipython-input-22-04bd325f91cd> in prep_data(data)
1 # Nettoyage des données
2 def prep_data(data):
----> 3 data['PERIODE_TARIF']=np.where(data['PERIODE_TARIF']in (0, 1),'HC','HP')
4 return data
C:\Users\Demonstrator\Anaconda3\lib\site-packages\pandas\core\generic.py
in __nonzero__(self)
890 raise ValueError("The truth value of a {0} is ambiguous. "
891 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 892 .format(self.__class__.__name__))
893
894 __bool__ = __nonzero__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Как я могу это исправить?
Спасибо, еще одна ошибка: ТипError: объект 'method' не подлежит подписке – Poisson
Извините отсутствующий '()' вокруг arg, см. Update – EdChum
Хорошо, спасибо, это работает :) – Poisson