python - Python从存储在列表中的字符串设置数据框名称
问题描述
我是使用 Python 工作的新手,并且正在努力创建一个 for 循环,该循环根据存储在列表中的值生成几个子集数据帧。
我有两个列表:dataframe_names 和ages_list。我需要从数据框“数据”中创建单独的子集数据框,每个数据框都包含ages_list 中的一个值。我想用 dataframe_names 中保存的相应字符串命名这些数据帧中的每一个。
这是年龄列表:
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]
我究竟做错了什么?
解决方案
我找到了解决您的问题的方法,但是数据在列表中,只需将其更改为您使用的正确数据框即可。
这是我写的代码:
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_']
推荐阅读
- xslt - 如何在 XPATH 2.0 中使用“<<”运算符?
- r - 如果满足条件,如何创建新列?
- twig - 将 Craft 更新到 3.2.1 后无法从单个条目获取资产
- laravel - Laravel如何在我使用JWT身份验证时自定义用户表
- php - 红绿灯系统行为——黑客等级代码挑战
- windows - Hyper-v 通过将未识别的局域网设为默认值来禁用我的 wifi 网络
- ionic-framework - 如何为 android 和 ios 以外的操作系统构建 ionic 应用程序
- mysql - 使用一个单一查询从四个表中获取数据
- python - 无法从 Visual Studio Code 激活环境
- scala - 使用动态/具体类型初始化类型变量