#python #pandas #time
#python #pandas #время
Вопрос:
Я создаю программу-инструкцию, которая выводит инструкцию из столбца df [‘ШАГИ’], и когда вы нажимаете ‘Q’, она записывает время в столбце df [‘ЗАПИСАННОЕ ВРЕМЯ’] и распечатывает следующую инструкцию.
Я пытаюсь добавить значение time.time() непосредственно к фрейму данных pandas. Однако он всегда записывает одно и то же значение для time.time(). Я также добавил значение в массив, чтобы показать несоответствие значений.
df=pd.read_csv('Pro-data.csv') #import the data
a=0 #variable storing input values
array=[] #trial array storing time value
for i in range (5):#(len(df['STEPS '])): #loop over steps shortened the loop to 5 to try it out
print(df['STEPS '][]) # print the step you need to do
a= input('Q for next step') #user input
while a!='Q': #MOVE onto next step when we push Q
a= input('Q for next step')
df['RECORDED TIME '][i]=time.time()
array.append(time.time())
Это значения, которые я получаю из
массив
Out[32]:
[1554306491.3479252,
1554306492.7853866,
1554306493.722859,
1554306494.4139996,
1554306495.446119]
хотя это значения, которые он сохраняет в
df['RECORDED TIME ']
Out[33]:
1.554306e 09
1.554306e 09
1.554306e 09
1.554306e 09
1.554306e 09
В df по какой-то причине всегда сохраняется одно и то же значение.
Комментарии:
1. вы пытались вычесть два значения? Возможно, он сохраняет правильные значения, но неправильно форматирует их только при отображении. Как я знаю, в pandas вы можете определить, как форматировать значения при их отображении.
2. df[‘ЗАПИСАННОЕ ВРЕМЯ’][1]==df[‘ЗАПИСАННОЕ ВРЕМЯ’][3] Out[56]: False. Итак, вы, вероятно, правы, как мне изменить отображение, чтобы убедиться?
3. Хорошо, спасибо, я проверил, напечатав все значение, и они разные. Это была просто проблема с отображением.
4. проверьте
pandas.display.precision
иpandas.display.float_format
в документации параметры . Если вы используете Jupyter Notebooke, смотрите такжеpandas.style.format
в документации по стилю