将一组国家传递给函数

2024-06-16 10:17:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python相当陌生。我正在利用Python的holidays包,该包按国家列出公共假日。我希望编写一个函数,该函数可以在任意数量的国家/地区循环,并返回一个包含3列的dataframe

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


Tags: 函数利用dataframe数量dateholidaysargs国家
1条回答
网友
1楼 · 发布于 2024-06-16 10:17:29

如果你改变你的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

相关问题 更多 >