Python - 属性动态名称 DataFrame

Posted

技术标签:

【中文标题】Python - 属性动态名称 DataFrame【英文标题】:Python - Attribute dynamic name DataFrame 【发布时间】:2018-04-16 06:47:09 【问题描述】:

我想用循环打开几个文件 (csv)。 问题是我不能给出动态名称,所以我打开一个数据框而不是 12 个。

我所有的路径都在字典中。

Key         Value
key1        D:/Users/Documents/file1-key1.csv
            D:/Users/Documents/file2-key1.csv
key2        D:/Users/Documents/file3-key2.csv
            D:/Users/Documents/file2-key2.csv

这是我的代码:

l=0
for key, value in dicstagefolder.items():
    for value in value:
        l=l+1
        name = key+"-"+str(l)
        name= pd.read_csv(value)

谢谢,劳伦特

【问题讨论】:

使用列表或字典来存储数据帧,或一次在内存中处理它们。 感谢 miradulo,我将数据帧存储在列表中。但是我如何将名称归因于我的不同数据框? 在每个 DataFrame 上设置一个属性?我不确定你在问什么。 我的存储库中有 12 个 csv 文件。我想一次加载它们并为每个文件(数据框加载)加载命名。我希望更清楚。 通过 name,您的意思是您希望每个 DataFrame 在内存中使用不同的变量吗? 【参考方案1】:

将您的 DataFrame 分配给字典中的值并更改每个 DataFrame 的键。例

    dict_of_dfs = 
    l=0
    for key, value in dicstagefolder.items():
        for v in value:
            l=l+1
            name = key+"-"+str(l)
            dict_of_dfs.update(**name: pd.read_csv(v))

另外,尝试在你的内部循环中使用 for v in value。否则,您可能会遇到 value 关键字被覆盖的问题。

【讨论】:

以上是关于Python - 属性动态名称 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

Python如何通过字符或数字动态获取对象的名称或者属性?

检查是不是已创建另一个具有相同名称的 DataFrame。错误:“str”对象没有属性“append”

动态列 .withColumn Python DataFrame

如何使用小部件在 Dataframe 选择语句中传递动态列名

python基础 13 类命名空间于对象实例的命名空间,组合方法

如何在 Python 中获取索引名称