Передача множества стран в функцию - PullRequest
0 голосов
/ 10 февраля 2020

Я довольно новичок в Python. Я использую пакет Python праздничные дни , который имеет c праздничные дни по стране. Я ищу написать функцию, которая зацикливается на любое количество стран и возвращает dataframe с 3 столбцами:

Date, Holiday, Country

Исходя из моих ограниченных знаний, я придумал это своего рода реализация:

import holidays
def getholidayDF(*args):
    holidayDF = pd.DataFrame(columns=['Date','Holiday','Country'])

    for country in args:
        holidayDF.append(sorted(holidays.CountryHoliday(country,years=np.arange(2014,2030,1)).items()))
        holidayDF['Country'] = country
        return holidayDF

holidays = getholidayDF('FRA', 'Norway', 'Finland', 'US', 'Germany', 'UnitedKingdom', 'Sweden')

Возвращает пробел dataframe. Я не уверен, как поступить!

1 Ответ

0 голосов
/ 10 февраля 2020

Если вы измените свой for-l oop, как показано ниже, это будет хорошо для вас. Наиболее релевантные комментарии были сделаны пользователем roganjo sh. О'Рейли, Вроккс, Прентис Холл, Пирсон, Пакт ... просто чтобы назвать несколько издателей ... у них есть несколько хороших книг для вас. Пропустите кулинарные книги сейчас.

.. code snippet ...

for country in args:
        holidayDF = holidayDF.append(sorted(holidays.CountryHoliday(country,years=np.arange(2014,2030,1)).items()))
 #       holidayDF['Country'] = country  # remove this from the for-loop.
return holidayDF  # move out of the for-loop
...