我正在寻找一种方法来连接存储在变量中的数字,并将其用作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] 删除。
我来说两句