gpt4 book ai didi

python - 在循环中创建多个数据框

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:39 25 4
gpt4 key购买 nike

我有一个人口数据。我想为每个州和年份创建单独的数据框。思路如下:

for i in province_id:
for j in year:
sub_data_i_j = data[(data.provid==i) &(data.wave==j)]

但是,我不确定如何动态生成 sub_data_i_j。

最佳答案

应该这样做:

for i in province_id:
for j in year:
locals()['sub_data_{}_{}'.format(i,j)] = data[(data.provid==i) & (data.wave==j)]

我最初建议使用 exec,出于安全原因,这通常不被认为是最佳实践。话虽如此,如果您的代码没有暴露给任何有恶意的人,那应该没问题,为了完整起见,我将其保留在这里:

for i in province_id:
for j in year:
exec "sub_data_{}_{} = data[(data.provid==i) & (data.wave==j)]".format(i,j)

然而,对于大多数用例,最好使用某种集合,例如一个字典,因为在代码的后续部分引用动态生成的变量名会很麻烦。它也是单线的:

data_dict = {key:g for key,g in data.groupby(['provid','wave'])}

关于python - 在循环中创建多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46805851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com