python - 如何选择列名并将其用作 Python 中变量名的输入?

标签 python

原始问题:

我正在编写一个 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/

相关文章:

python - 为什么 ConfigParser items() 给出原始字符串,而 get() 返回 bool/float/等?

python - 如何以编程方式删除黑色网格?

python - 绘制 OpenStreetMap 关系不会生成连续线

python - 只能使用 TensorFlow 中处理梯度的代码示例来实现类似优化器的梯度下降吗?

python - 使用 split() 在各种标点符号处划分字符串

python - 如何提高 Python3 的代码覆盖率

python - 继承setUp方法Python Unittest

python - 在 pandas GroupBy 输出中将缺少的组键作为 NaN 包括在内

python - 从 shell 设置 `ulimit -c`

python - 在pycassa中使用column_validators