我是使用Python的新手,正在努力创建一个for循环,该循环根据列表中存储的值生成几个子集数据帧。
我有两个列表: dataframe_names和ages_list。我需要从数据帧" data“创建单独的子集数据帧,每个数据帧包含来自ages_list的一个值。我想用dataframe_names中保存的相应字符串来命名每个数据帧。
下面是ages_list:
ages_list = ['<30', '30-34', '35-39', '40-44', '45-49', '50-54', '55-59', '60-64', '65-69', '70-74', '75-79', '80-84', '85+']以下是数据帧名称列表:
dataframe_names = ['age_30', 'age30_34', 'age35_39', 'age40_44', 'age45_49', 'age50_54', 'age55_59', 'age60_64', 'age65_69', 'age70_74', 'age75_79', 'age80_84', 'age85_']这是我试过的代码,它根本不起作用
for (age,name) in zip(ages_list, dataframe_names):
name = data[data['AgeGroup']== age]我做错了什么?
发布于 2021-03-30 05:35:33
我已经找到了解决问题的方法,但是数据在列表中,只需将其更改为您使用的正确数据帧即可。
这是我写的代码:
ages_list = ['<30', '30-34', '35-39', '40-44', '45-49', '50-54', '55-59', '60-64',
'65-69', '70-74', '75-79', '80-84', '85+']
dataframe_names = ['age_30', 'age30_34', 'age35_39', 'age40_44', 'age45_49', 'age50_54', 'age55_59', 'age60_64', 'age65_69', 'age70_74', 'age75_79', 'age80_84', 'age85_']
data = ['<30', '40-44', '85+']
name = []
ind = None
for age in data:
for agl in data:
if age == agl:
ind = ages_list.index(agl)
name.append(dataframe_names[ind])
break
print(name)这是打印出来的东西:
['age_30', 'age40_44', 'age85_']https://stackoverflow.com/questions/66861706
复制相似问题