python中使用数字的变量名

迪文佐

我正在寻找一种方法来连接存储在变量中的数字,并将其用作python中的变量名称(或作为字符串插入)。像这样:

for NUMBER in range(2000,2020,1):
    df_NUMBER = pd.read_csv('data_NUMBER.csv')
    df_NUMBER['year'] = NUMBER 

有可能吗?在Stata中将是:

forvalues NUMBER = 2000(1)2019 {
    import delimited using data_`NUMBER'.csv
    generate year = `NUMBER'
}

不要尝试动态创建变量名,这是一个非常糟糕的主意。而是仅将数据帧存储在集合中。在这种情况下,字典可能很有意义。否则,只有一个长格式数据框,这将使分析更加容易:

选项1:

dfs = {}
for year in range(2000, 2020):
    dfs[year] = pd.read_csv(f"data_{year}.csv")
    dfs[year]["year"] = year

选项2:

dfs = []
for year in range(2000, 2020):
    df = pd.read_csv(f"data_{year}.csv")
    df["year"] = year
    dfs.append(df)
df_all = pd.concat(dfs).reset_index(drop=True)

在这种情况下,您可能需要选择2,因为随后可以使用继续对所有年份进行分析.groupby("year")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章