Запустите планировщик, чтобы выполнить функцию, в которой данные и данные планировщика хранятся в pandas фрейме данных. - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть следующий фрейм данных:

data = {'MarketId': ['1.170349308', '1.170349312', '1.170349315'],
        'CodeExection': ['17:14', '17:25', '18:00']}

df = pd.DataFrame(data,columns=['MarketId', 'CodeExection'])

Я хотел бы передать значение строки 'MarketId' функции в то время в 'CodeExection'.

Я пытался следующее:

def test(df):
   def test1(df):

     print(MarketId)

   schedule.every().tuesday.at('CodeExection').do(test1) 

   while True:
   schedule.run_pending()
   time.sleep(1)

Хотя я получаю следующую ошибку:

NameError: ("name 'CodeExection' is not defined", 'occurred at index MarketId')

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Вы можете нарезать фрейм данных как список:

market_id_vals = df["MarketId"]

code_exec_times = df["CodeExection"]

Вы получите серию. Если вы хотите, вы можете легко преобразовать его в список вроде этого

df["MarketId"].tolist()

df["CodeExection"].tolist()

0 голосов
/ 28 апреля 2020

Я думаю, что ваш текущий CodeExecution является переменной, но вам нужно значение в data['CodeExecution']

...