【发布时间】:2021-03-05 01:58:45
【问题描述】:
我有一个主数据框 df_PROD,并且在某些年份范围内,我想从主 df 过滤这些记录,如果记录数超过 0,会将它们推送到单独的 df(即 df_PROD_year)并附加那一年变成一个清单,供以后使用。
我正在尝试在 for 循环中为数据框创建动态名称,如下所示,如果记录超过 0,我将添加到单独的 df_year 中,并尝试将该年份附加到另一个列表中,如下所示。
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 apache-spark for-loop variables pyspark