首页 > 解决方案 > 在python中打印变量名

问题描述

这里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)

标签: pythonpython-3.xdataframe

解决方案


您不能将变量的名称作为字符串获取,但您可以在输入和查询locals字典中传递一个字符串来获取值:

for data in ["bkd_train", "bkd_test"]:
    print("{} : {}".format(data,locals()[data].shape))

如果变量是本地的,它就可以工作。如果它们是全局的,则使用globals, 回退 on locals,或者只是eval(在这种情况下不是问题,因为要评估的字符串是恒定的)

另请阅读:如何将变量名作为字符串获取?


推荐阅读