我有一个主数据框df\u prod,在一定的年份范围内,我想从主df中过滤那些记录,如果记录的数量超过0,将把它们推到一个单独的df(即df\u prod\u year)中,并将该年份附加到一个列表中,以便以后使用。
我正在尝试为for循环中的dataframe创建动态名称,如下所示,如果记录大于0,我将添加到单独的dfu年份中,并尝试将该年份附加到另一个列表中,如下所示。
PROD_years_list = []
year=int(datetime.datetime.today().year)
for i in range (year, 2016, -1 ):
print(i)
df_PROD_{i} = df_PROD.filter(col("Year") == i)
if df_PROD_{i}.count() > 0:
PROD_years_list.append(i)
print(PROD_years_list)
但是我得到了无效的语法错误:
df_PROD_{i} = df_PROD.filter(col("Year") == i)
如何在for循环中动态命名Dataframe?谢谢。
1条答案
按热度按时间8nuwlpux1#
根据你的需要,使用dict可能是一个更好的选择。将每个Dataframe和相应的年份存储为一个键: