Я использую drop(), чтобы очистить строки с значениями мусора (NaN, NaT, '') из определенных столбцов.pandas drop() - ошибка - метка [] не указана в оси
for index, row in user_data_to_clean.iterrows():
if row.email != row.email or row.email == '' or row.email == ' ':
user_data_to_clean.drop(index, inplace=True)
email_count = email_count + 1
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-22-bb0cb6d83902> in <module>()
24
25 if row.email != row.email or row.email == '' or row.email == ' ':
---> 26 user_data_to_clean.drop(index, inplace=True)
27 email_count = email_count + 1
28
/home/eyebell/local_bin/janacare/virtenv/lib/python2.7/site-packages/pandas/core/generic.pyc in drop(self, labels, axis, level, inplace, errors)
1871 new_axis = axis.drop(labels, level=level, errors=errors)
1872 else:
-> 1873 new_axis = axis.drop(labels, errors=errors)
1874 dropped = self.reindex(**{axis_name: new_axis})
1875 try:
/home/eyebell/local_bin/janacare/virtenv/lib/python2.7/site-packages/pandas/indexes/base.pyc in drop(self, labels, errors)
2964 if errors != 'ignore':
2965 raise ValueError('labels %s not contained in axis' %
-> 2966 labels[mask])
2967 indexer = indexer[~mask]
2968 return self.delete(indexer)
ValueError: labels [124] not contained in axis
Нарушитель строка:
print user_data_to_clean.iloc[124]
user_id 656
first_name xxxxxxx.A
last_name NaN
username xxxxxxxx
email [email protected]
phone_number 7123372613
date_joined 2013-09-27 00:00:00
first_login NaT
last_activity NaT
Name: 182, dtype: object
Что такое проблема здесь?
Я знаю, что альтернативный способ достижения моей цели состоит в том, чтобы нарезать строки, , но я хочу понять, что здесь происходит не так!
Вы можете вместо этого проверить 'user_data_to_clean.loc [124]'? 'iloc' смотрит на позицию строки, а не на метку. Возможно, вы пытаетесь удалить строку, которая ранее была удалена. – ayhan
@ayhan: Спасибо, оказывается, это была моя ошибка. Я уронил ряды, которые уже были сброшены. – gprakhar