在python中打印变量名
这里bkd_列、bkd_测试是数据帧在python中打印变量名,python,python-3.x,dataframe,Python,Python 3.x,Dataframe,这里bkd_列、bkd_测试是数据帧 for dataName in ['bkd_train', 'bkd_test']: data = eval(dataName) print("{} : {}".format(dataName, data.shape)) 我想打印数据框名称和形状 for data in [bkd_train, bkd_test]: print("{} : {}".format(?, data.shape)) 如果我使用的是“数据”,那么它就是在打
for dataName in ['bkd_train', 'bkd_test']:
data = eval(dataName)
print("{} : {}".format(dataName, data.shape))
我想打印数据框名称和形状
for data in [bkd_train, bkd_test]:
print("{} : {}".format(?, data.shape))
如果我使用的是“数据”,那么它就是在打印数据帧
for dataName in ['bkd_train', 'bkd_test']:
data = eval(dataName)
print("{} : {}".format(dataName, data.shape))
但我希望o/p是这样的:
bkd_train : (10886, 12)
bkd_test : (1111,11)
无法将变量名称作为字符串获取,但可以在输入和查询
locals
字典中传递字符串以获取值:
for data in ["bkd_train", "bkd_test"]:
print("{} : {}".format(data,locals()[data].shape))
如果变量是局部变量,它就可以工作。如果它们是全局的,则使用globals
,并使用locals
,或者只使用eval
(在该上下文中没有问题,因为要计算的字符串是常量)
另请阅读:您无法将变量名称作为字符串获取,但您可以在输入中传递字符串并查询
局部变量
字典以获取值:
for data in ["bkd_train", "bkd_test"]:
print("{} : {}".format(data,locals()[data].shape))
如果变量是局部变量,它就可以工作。如果它们是全局的,则使用globals
,并使用locals
,或者只使用eval
(在该上下文中没有问题,因为要计算的字符串是常量)
另请阅读:我将迭代变量名本身,然后使用
eval
计算将为您提供数据帧的名称
for dataName in ['bkd_train', 'bkd_test']:
data = eval(dataName)
print("{} : {}".format(dataName, data.shape))
我将迭代变量名本身,然后使用
eval
计算将为您提供数据帧的名称
for dataName in ['bkd_train', 'bkd_test']:
data = eval(dataName)
print("{} : {}".format(dataName, data.shape))