如何在Python中将数值numpy数组的变量名转为列表?
获取变量名组成的列表
方法1:手动定义列表(最简单)
如果变量数量不多,直接手动写出变量名字符串列表即可:
col_names = ['a', 'b'] print(col_names) # 输出: ['a', 'b']
方法2:通过全局/局部作用域查找变量名
如果需要批量自动获取,可以利用globals()(全局作用域)或locals()(局部作用域)匹配变量值对应的名称:
import numpy as np # 数据 a = [1, 2, 3] b = [4, 5, 6] def get_variable_name(var): # 遍历全局作用域,找到值与var相同的变量名 for name, value in globals().items(): if value is var: return name # 批量生成变量名列表 variables = [a, b] var_names = [get_variable_name(var) for var in variables] print(var_names) # 输出: ['a', 'b']
注意:如果存在多个变量指向同一个对象(比如
c = a),这种方法会返回第一个匹配的变量名,需确保每个值对应的变量唯一。
方法3:用字典存储(推荐,更可靠)
从一开始就用字典绑定变量名和对应值,后续直接提取字典的键即可,同时也方便直接创建pandas DataFrame:
import pandas as pd # 用字典存储变量名和对应数据 data_dict = { 'a': [1, 2, 3], 'b': [4, 5, 6] } # 获取变量名列表 var_names = list(data_dict.keys()) print(var_names) # 输出: ['a', 'b'] # 直接创建pandas DataFrame,列名自动为变量名 df = pd.DataFrame(data_dict) print(df)
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

