0

我对 Python 相当陌生。我正在利用 Python 的假期包,它按国家/地区划分公共假期。我正在寻找一个函数来循环任意数量的国家并返回dataframe3 列:

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。我不知道如何进行!

4

1 回答 1

0

如果您如下所示更改您的 for 循环,那么您应该没问题。大多数相关评论是由用户roganjosh 发表的。O'Reilly、Wrokx、Prentece Hall、Pearson、Packt.. 仅举几家出版商的名字......他们为您准备了一些好书。暂时跳过食谱。

.. 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
于 2020-02-09T22:28:28.710 回答