Рассмотрим следующие данные (некоторые добавлены для проверки):
print(df)
Activity Name Activity Start Activity End
0 Phone 04:00:00 08:00:00
1 Lunch 08:00:00 08:30:00
2 Coffee 08:30:00 08:45:00
3 Phone 08:45:00 10:30:00
4 WrittenSupport 10:30:00 12:30:00
5 Phone 04:00:00 08:00:00
6 Lunch 08:00:00 08:30:00
7 Coffee 08:30:00 08:45:00
8 Phone 08:45:00 09:00:00
9 Phone 06:00:00 09:00:00
10 Someother Name 10:30:00 12:30:00
11 Phone 04:00:00 08:00:00
12 Lunch 08:00:00 08:30:00
13 Coffee 08:30:00 08:45:00
14 Phone 08:45:00 09:00:00
15 Phone 06:00:00 09:00:00
Использование ниже:
df['index_col']=df[~df.duplicated('Activity Name',keep=False)].expanding().count().iloc[:,1]
df_new=df.set_index(df.index_col.ffill().fillna(0)).rename_axis(None).drop('index_col',1)
print(df_new)
Activity Name Activity Start Activity End
0.0 Phone 04:00:00 08:00:00
0.0 Lunch 08:00:00 08:30:00
0.0 Coffee 08:30:00 08:45:00
0.0 Phone 08:45:00 10:30:00
1.0 WrittenSupport 10:30:00 12:30:00
1.0 Phone 04:00:00 08:00:00
1.0 Lunch 08:00:00 08:30:00
1.0 Coffee 08:30:00 08:45:00
1.0 Phone 08:45:00 09:00:00
1.0 Phone 06:00:00 09:00:00
2.0 Someother Name 10:30:00 12:30:00
2.0 Phone 04:00:00 08:00:00
2.0 Lunch 08:00:00 08:30:00
2.0 Coffee 08:30:00 08:45:00
2.0 Phone 08:45:00 09:00:00
2.0 Phone 06:00:00 09:00:00
Чтобы быть на безопасной стороне и гарантировать последовательное поведение во всех браузерах, обычно лучше использовать обоих:
Content-Type: application/octet-stream
Content-Disposition: attachment;filename=\"My Text File.txt\"
В большинстве случаев следующее должно работать:
Content-type: application/octet-stream
Content-Disposition: attachment; filename="myfile.txt"
существуют некоторые крайние случаи браузеров, которые все еще отобразят его как текстовый файл, но ни один из основных браузеров не будет (я говорить о браузерах, встроенных в некоторые СЕРЕДИНЫ).
<час> РЕДАКТИРОВАНИЕ : Когда этот ответ был первоначально опубликован, отправление Типа пантомимы application/octet-stream
было единственным надежным способом инициировать загрузку в некоторых браузерах. Теперь в 2016, если Вы не должны поддерживать древний браузер, можно безопасно указать надлежащий тип пантомимы.
Я не думаю, что это прокладывает себе путь.
Использование Content-Disposition: attachment
заголовок, но палка с корректным Типом контента.