这里bkd_train、bkd_test是数据帧
我想打印数据帧名称和它的形状。
for data in [bkd_train, bkd_test]:
print("{} : {}".format(?, 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
(在这种情况下不是问题,因为要计算的字符串是常量(
另请阅读:如何将变量名获取为字符串?
我会对变量名称本身进行迭代,然后使用eval
来评估将为您提供数据帧的名称。
for dataName in ['bkd_train', 'bkd_test']:
data = eval(dataName)
print("{} : {}".format(dataName, data.shape))