def comment (row):
if row['STATUS'] == "CANCELLED":
return "Cancelled"
elif strToDate(row['PROCESS_DATE']) < datetime(2018,1,1) or strToDate(row['PROCESS_DATE']) > datetime(2018,2,1):
return "Date out of Range"
elif "Lost" in str(row['NOTE']) or "Stolen" in str(row['TRADE_NOTE_TXT']):
return 'Lost or Stolen'
else:
return 'Other'
df['Comment'] = ''
for i, row in df.iterrows():
df.at[i,"Comment"] = comment(row)
Я использую приведенный выше код для изменения значения df ['Comment'] в зависимости от этих условий. Однако, когда я делаю df.count (), он показывает, что в комментарии есть 7790 значений.
Однако, когда я делаю df.groupby ('Comment'). Size (), результат выглядит следующим образом, что намного больше, чем количество комментариев, которые должны присутствовать.
Comment
Cancelled 1171
Date out of Range 1175
Lost or Stolen 634
Other 4810
dtype: int64