我有一个for循环,我想调用一个不同的pd.数据帧在每个循环中,向另一个数据帧添加一列(“feedin”)。变量名由feedin+x组成。假设a、b和c。因此,在第一个循环中,我要调用变量feedin并将列feedin添加到新的数据帧中。在下一个feedin\u 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
,feedin_b
不是一个好主意的原因之一。你知道吗如果无法更改此设置,可以在
locals()
(或globals()
字典中查找名称:其他人用
locals()
回答了你的确切问题。在评论中,有人指出了另一种实现你所追求的目标的方法:使用字典将你的“变量名”保存为可以通过字符串操作查找的字符串。你知道吗如果您打算通过字符串操作调用大量的数据帧,这是一个很好的方法。你知道吗
可以使用locals(),所以应该是这样的:
同时检查这个Python, using two variables in getattr?
请不要使用
list
作为变量名,因为它是内置的python对象相关问题 更多 >
编程相关推荐