原始问题:
我正在编写一个 while 循环来循环某些列。在这个 while 循环中,我想创建一个变量,其名称部分由它循环的列名组成。
x=2
length=len(grouped_class.columns)
while x<length:
x=x+1
(grouped_class.columns[x])_largest = x+5
...
这是我当前的代码(=x+5 不是实际代码,而是示例),但它返回语法错误。如果我在 shell 中运行 grouped_class.columns[x] ,它将返回该列的名称,例如:“ColumnA”。我想使用这个“ColumnA”作为变量名称的第一部分。
因此在变量列表中它将返回:ColumnA_largest
通过这种方式,我可以将每列的结果存储在单独的变量中。
我该怎么做?
编辑:问题概括
如何使用 df.column[x]
获取的字符串作为变量名称的输入?
示例 df:
ColumnA ColumnB ColumnC
5 6 4
6 10 2
如果我运行df.columns[1]
,它会返回“ColumnB”
我想在分配变量时使用此“ColumnB”
作为名称的一部分。
假设我想创建变量COLNAME_sum = x + 5
我想将 COLNAME 更改为从 df.columns[1]
(="ColumnB")
预期输出:
名为 ColumnB_sum
的变量。
我该怎么做?
最佳答案
您不应该动态创建变量,因为这可能会导致许多问题,而是使用字典:
largest = {}
x = 2
length = len(grouped_class.columns)
while x < length:
x = x + 1
column = grouped_class.columns[x]
largest[column + '_largest'] = x + 5
...
关于python - 如何选择列名并将其用作 Python 中变量名的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771956/