首页 > 解决方案 > 如何使用和打印 pandas 数据框名称

问题描述

我有一个熊猫数据框

a = [0, 1, 2, 3]
b = [2, 3, 4, 5]

df = pd.DataFrame({'col1':a, 'col2':b})

我不想使用 df.name,但我想打印数据框名称df,也可以使用保存 csv 之类的地方

print(df + '.csv')

我期待

'df.csv'

标签: pythonpandasvariablesglobal

解决方案


  1. 您可以按照此处pandas.DataFrame的说明进行子类化。这有点棘手但可能......

  2. 您可以直接将属性添加到 DataFrame 的实例。不推荐但可能。

  3. 您还可以创建一个包含 DataFrame 的类并重载__repr__to_csv方法,如下所述

这是第二种解决方案的示例

import pandas as pd
df = pd.DataFrame({'col1':a, 'col2':b})
df.myname ='my_super_name'

这是第 3 个解决方案的示例

import pandas as pd

class MyDataFrame():
    def __init__(self, _myname, *args, **kwargs):
        self.myname = _myname
        self.df = pd.DataFrame(*args, **kwargs)

    def __repr__(self):
        return self.myname

    def to_csv(self):
        self.df.to_csv(self.myname + '.csv')

a = [0, 1, 2, 3]
b = [2, 3, 4, 5]

df = MyDataFrame('my_data_frame', {'col1':a, 'col2':b})
print(df)
df.to_csv()

推荐阅读