Привет, не говоря о чистоте того, как это можно сделать следующим образом:
import pandas as pd
data =[['2020-03-31 10:55:00', '177.00', '177.00', '177.00', '177.00', '0', '0'],
['2020-03-31 11:05:00', '177.00', '177.00', '177.00' , '177.00', '0', '0' ],
['2020-03-31 11:15:00', '177.00' , '179.50', '170.00', '179.50' ,'150','75' ],
['2020-03-31 11:25:00','188.00' ,'188.00' , '188.00','188.00','75' , '225' ],
['2020-03-31 11:35:00', '188.00', '189.60','185.00','189.60','150','300' ],
['2020-04-01 09:15:00', '188.00', '189.60','185.00','189.60','150','300' ]
]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = [ 'Date','Open','High','Low','Close','volume','oi'])
#insert column
df.insert(1, 'number',0)
from datetime import datetime
pre_number = 0
for index, row in df.iterrows():
time = datetime.strptime(row['Date'].split(" ")[1], '%H:%M:%S')
if(row['Date'].split(" ")[1] == '09:15:00'):
pre_number = 1
else:
pre_number +=1
df.loc[index,'number']=pre_number
df
Я предполагаю, что большая часть данных представлена в виде строки. Я не удосужился перевести их в формат даты. Но вставка столбца со значением по умолчанию и итерация в соответствии с вашим целевым временем, исключая часть даты, поможет вам вставить правильные данные