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

问题描述 投票:0回答:2

我有一个熊猫数据框

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'
python pandas variables global
2个回答
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")

0
投票
  1. 您可以按照pandas.DataFrame的说明来继承here。这有点棘手,但可能...

  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()
© www.soinside.com 2019 - 2024. All rights reserved.