首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python从列表中存储的字符串设置数据框名称

Python从列表中存储的字符串设置数据框名称
EN

Stack Overflow用户
提问于 2021-03-30 05:10:19
回答 1查看 35关注 0票数 1

我是使用Python的新手,正在努力创建一个for循环,该循环根据列表中存储的值生成几个子集数据帧。

我有两个列表: dataframe_names和ages_list。我需要从数据帧" data“创建单独的子集数据帧,每个数据帧包含来自ages_list的一个值。我想用dataframe_names中保存的相应字符串来命名每个数据帧。

下面是ages_list:

代码语言:javascript
复制
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+']

以下是数据帧名称列表:

代码语言:javascript
复制
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_']

这是我试过的代码,它根本不起作用

代码语言:javascript
复制
for (age,name) in zip(ages_list, dataframe_names):
    name = data[data['AgeGroup']== age]

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-03-30 05:35:33

我已经找到了解决问题的方法,但是数据在列表中,只需将其更改为您使用的正确数据帧即可。

这是我写的代码:

代码语言:javascript
复制
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)

这是打印出来的东西:

代码语言:javascript
复制
['age_30', 'age40_44', 'age85_']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66861706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档