python - 根据字符串在每个循环中调用不同的变量
问题描述
我有一个 for 循环,我想在每个循环中调用不同的 pd.Dataframes 并将某个列('feedin')添加到另一个数据帧。变量名由'feedin_' + x 组成。让我们说a,b和c。因此,在第一个循环中,我想调用变量 feedin_a 并将列“feedin”添加到新数据帧中。在接下来的 feedin_b 等等。
我传递了一个 ['a', 'b', 'c'] 列表并尝试组合 feedin_+ a。但由于列表由字符串参数组成,它不会调用变量
feedin_a = pd.Dataframe
feedin_b = pd.Dataframe
feedin_c = pd.Dataframe
list = ['a', 'b', 'c']
for name in list:
df.new['feedin_'+name] = 'feedin_'+name['feedin']
这不起作用,因为变量被称为字符串。我希望你能解决我的问题。
解决方案
这就是当你真的需要像列表这样的数据结构时feedin_a
,使用 variables 不是一个好主意的原因之一。feedin_b
如果你不能改变这个,你可以在locals()
(或globals()
字典中查找名称:
df.new['feedin_'+name] = locals()['feedin_'+name]['feedin']
推荐阅读
- google-cloud-dataproc - 无法在placement.managedCluster.config 下参数化任何值
- python - 如何获取 DMChannel 对象?- 不和谐.py
- css - 我尝试在我的应用程序中使用样式化组件。但是我写完城市名称后光标会移开
- c - 将 c 中的 if 条件评估为真或假
- javascript - SyntaxError: 应为. 线 (17:9)
- python - 避免重复 if 语句
- flutter - 如何使 Flutter HTTP 部分(范围)请求?
- javascript - 如何设置输入按键的默认输入?
- object - 扩展接口时,我们应该使用object关键字吗?
- delphi - 如何确定服务器是否只能使用 IPv6 访问