Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中获取数据帧的名称?_Python_Dataframe_Python 3.6 - Fatal编程技术网

如何在Python中获取数据帧的名称?

如何在Python中获取数据帧的名称?,python,dataframe,python-3.6,Python,Dataframe,Python 3.6,我有下面的python函数将数据帧导出到csv文件。我用下面的脚本来命名它 finalExport(dataAllR, sourcePath, header, started) dataAllR:数据帧的名称 sourcePath:路径 标题:列列表 已启动:时间 我想使用在脚本中调用函数时传递的数据帧的名称,即dataAllR: exportPath = exportPath + '\\final_py_upload' + data + '.csv' #

我有下面的python函数将数据帧导出到csv文件。我用下面的脚本来命名它

finalExport(dataAllR, sourcePath, header, started)
  • dataAllR
    :数据帧的名称
  • sourcePath
    :路径
  • 标题
    :列列表
  • 已启动
    :时间

我想使用在脚本中调用函数时传递的数据帧的名称,即
dataAllR

exportPath = exportPath + '\\final_py_upload' + data + '.csv'
#                                                ^
我想根据数据帧名称生成文件名


请对此提供帮助。

由于Python允许您为对象指定任意属性名称,因此您可以将名为
name
的属性指定给数据帧以表示其名称:

import pandas as pd 
df = pd.DataFrame()
df.name = 'My Data Frame'
print(df.name) # My Data Frame
在您的情况下,在为
dataAllR
定义
name
属性之后:

dataAllR.name = 'dataAllR'
您可以使用:

exportPath = exportPath + '\\final_py_upload' + data.name + '.csv'
或者,更好的是:

exportPath = f'{exportPath}\\final_py_upload{data.name}.csv'

事实上,Python值没有名称,它们被绑定到名称上(有时-参见第二个示例)。当我写作时

a = "a string"
b = a
lst = ["orange", "banana", "apple"]
“字符串”的名称是什么<代码>a
,或
b
,或两者兼而有之?同样,当我写作时

a = "a string"
b = a
lst = ["orange", "banana", "apple"]
“苹果”的名字是什么
lst[2]
不是名称,而是对容器元素的引用。讨论了对Python还比较陌生的人可能造成混淆的原因


不幸的是(?)熊猫数据帧没有
名称
属性或类似属性。考虑到Python的灵活性,定义一个维护了这样一个属性的NamedDataFrame子类将非常容易,不过您将首先面临如何派生这些名称的问题。

@Christian Dean,yes data。name@Christian迪恩,非常感谢,我会查一查。看看我的答案。我有点不正确。您必须自己为数据帧命名。请注意,
f'…{}…'
语法仅在Python 3.6和中可用up@holdenweb是的,我知道。他在标题“python 3.6”中明确表示。我刚刚删掉了。我将在Python3.6标记中进行编辑。@Christian Dean,我使用了dataAllR.name='dataAllR',简单的一个。谢谢