【问题标题】:Print variable name in python [duplicate]在python中打印变量名[重复]
【发布时间】:2018-12-23 02:32:03
【问题描述】:

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

【问题讨论】:

    标签: python python-3.x dataframe


    【解决方案1】:

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

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

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

    另请阅读:How to get a variable name as a string?

    【讨论】:

      【解决方案2】:

      我会遍历变量名称本身,然后使用eval 来评估将为您提供数据框的名称。

      for dataName in ['bkd_train', 'bkd_test']:
          data = eval(dataName)
          print("{} : {}".format(dataName, data.shape))
      

      【讨论】:

        猜你喜欢
        • 2023-01-22
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多