Я новичок в ML и Data Science и изучаю столько, сколько могу сам, ища должности в Data Science / Business Analytics.
Я работаю над своим личным проектом по созданию алгоритмов ML для предсказать, покажет ли клиент свое назначение.
Я столкнулся с проблемой при работе со столбцом формата datetime64. Этот столбец называется «ScheduledDay», и его можно увидеть на изображении ниже. ![enter image description here](https://i.stack.imgur.com/BuwUu.png)
Моя конечная цель - создать новый столбец, который будет содержать значения «AM» или «PM» в зависимости от того, является ли время в столбце «ScheduledDay» временем AM ( <12:00 pm) или PM (<= 12:00 pm). </p>
Я начал работать над этим, создав пустой словарь для хранения значений «AM» и «PM». Затем я пытаюсь запустить a для l oop, чтобы заполнить мой пустой словарь значениями AM или PM, как показано в приведенном ниже коде.
# Create dictionary to hold results
appointment_counts = {'AM': 0, 'PM': 0}
# Loop over all trips
for hour in my_df['ScheduledDay']:
if hour['ScheduledDay'].hour < 12:
appointment_counts['AM'] += 1
else:
appointment_counts['PM'] += 1
print(appointment_counts)
Это дало мне следующую ошибку:
TypeError: 'Timestamp' object is not subscriptable
Чтобы решить эту проблему, я создал новый столбец - «ScheduledDaySTR» - чтобы иметь те же значения, что и «ScheduledDay», но с типом «объект» для эксперимента:
my_df['ScheduledDaySTR'] = my_df['ScheduledDay'].astype(str)
Затем я попробовал мой для l oop и пустой список снова:
# Create dictionary to hold results
appointment_counts = {'AM': 0, 'PM': 0}
# Loop over all trips
for hour in my_df['ScheduledDaySTR']:
if hour['ScheduledDaySTR'].hour < 12:
appointment_counts['AM'] += 1
else:
appointment_counts['PM'] += 1
print(appointment_counts)
Это вызвало у меня новую ошибку:
TypeError: string indices must be integers
Я попытался решить эту ошибку, создав новый столбец с такими же значениями как 'ScheduledDay', но типа 'int':
my_df['ScheduledDayINT'] = my_df['ScheduledDay'].astype(int)
Затем я снова попытался использовать для l oop:
# Create dictionary to hold results
appointment_counts = {'AM': 0, 'PM': 0}
# Loop over all trips
for hour in my_df['ScheduledDayINT']:
if hour['ScheduledDayINT'].hour < 12:
appointment_counts['AM'] += 1
else:
appointment_counts['PM'] += 1
print(appointment_counts)
И я получаю еще одну ошибку:
TypeError: 'int' object is not subscriptable
Я застрял в том, как я могу подойти к этой проблеме. Я новичок в науке о данных и пытаюсь учиться сам.