Почему я получаю ошибки ссылки при вызывании функции в Math.h?

Вот два решения, использующие Pandas для преобразования дат, отформатированных как строки в объекты datetime.date.

import pandas as pd

dates = ['2015-12-25', '2015-12-26']

# 1) Use a list comprehension.
>>> [d.date() for d in pd.to_datetime(dates)]
[datetime.date(2015, 12, 25), datetime.date(2015, 12, 26)]

# 2) Convert the dates to a DatetimeIndex and extract the python dates.
>>> pd.DatetimeIndex(dates).date.tolist()
[datetime.date(2015, 12, 25), datetime.date(2015, 12, 26)]

Сроки

dates = pd.DatetimeIndex(start='2000-1-1', end='2010-1-1', freq='d').date.tolist()

>>> %timeit [d.date() for d in pd.to_datetime(dates)]
# 100 loops, best of 3: 3.11 ms per loop

>>> %timeit pd.DatetimeIndex(dates).date.tolist()
# 100 loops, best of 3: 6.85 ms per loop

И вот как преобразовать OP исходные даты-времени:

datetimes = ['Jun 1 2005  1:33PM', 'Aug 28 1999 12:00AM']

>>> pd.to_datetime(datetimes).to_pydatetime().tolist()
[datetime.datetime(2005, 6, 1, 13, 33), 
 datetime.datetime(1999, 8, 28, 0, 0)]

Существует много вариантов преобразования строк из Pandas Timestamps с помощью to_datetime, поэтому проверьте docs , если вам что-то особенное.

Аналогично, метки времени имеют много свойств и методов , к которым можно получить доступ в дополнение к .date

5
задан FreeMemory 19 September 2008 в 16:21
поделиться

2 ответа

Добавьте-lm к команде при вызове gcc:
gcc - стена-D_GNU_SOURCE blah.c-o вздор-lm

Это скажет компоновщику связываться с математической библиотекой. Включая math.h скажет компилятору, что математические функции как sqrt () существуют, но они определяются в отдельной библиотеке, которую компоновщик должен упаковать Вашим исполняемым файлом.

Поскольку FreeMemory указал, что библиотеку называют libm.a. В подобных Unix системах правило для именования библиотек является lib [вздор].a. Затем, если Вы хотите связать их со своим исполняемым файлом, Вы используете-l [вздор].

7
ответ дан 13 December 2019 в 22:19
поделиться

Необходимо связать математическую библиотеку явно. Добавить -lm к флагам Вы являетесь передающими к gcc так, чтобы компоновщик знал для соединения libm.a

2
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: