如何使用和打印熊猫数据框名称

时间:2019-11-22 05:25:55

标签: python pandas variables global

我有一个熊猫数据框

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'

3 个答案:

答案 0 :(得分:1)

我认为不可能。为什么不尝试使用字典呢?

示例

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

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

# Save all dataframes in dictionary with name
for key in var_map:
    var_map[key].to_csv(key + ".csv")

答案 1 :(得分:1)

  1. 您可以按照here的说明来子类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'

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

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()

答案 2 :(得分:0)

import pandas as pd
df = pd.DataFrame( data=np.ones([4,4]) )
df.name = 'Ones'
print(df.name)