按名称从字典中提取数据框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按名称从字典中提取数据框相关的知识,希望对你有一定的参考价值。

我做了一个循环,在其中循环访问文件夹中的(csv)文件,将它们读入数据帧字典,并以csv文件命名(例如,file1.csv变为file1_df)。我对数据做一些工作并生成新的行,然后尝试将部分数据帧子集到一个新的数据帧(file1_df2)中。我想稍后在字典之外引用这些数据框。

    df_dict = 
    for file in os.listdir(datadir):  # Loop over the files in that folder (only has CSV files)
        df_name = file[:-4] + '_df'  # Trim off .csv to name the dataframe
        df_dict[df_name] = pd.read_csv(os.path.join(datadir, file))

是否可以通过名称引用这些数据框?所以以后我可以只叫file1_df2而不是df_dict["file1_df2"]

[本质上,我在问与here相同的问题。看来他也没有得到这个答案,所以我认为这不可能,但是我还没有找到明确表示不可能的答案。


我知道这在SAS和Stata这样的语言中是可能的,但是我从来没有想过如何在Python中做到这一点。在这些语言中,您可以将占位符变量直接插入名称中。

/* In SAS */
%let param = test1
libname path "C:\User\&param."

proc sql;
create &param._df as 
select * from path.&param.
quit;
/* In Stata */
foreach i in file1 file2 
    import delimited "`i'.csv", clear
    save "`i'.dta", replace

等如果这是不可能的话,我想肯定地知道这一点。谢谢!

我做了一个循环,在其中循环访问文件夹中的(csv)文件,将它们读入数据帧字典,并以csv文件命名(例如,file1.csv变为file1_df)。我在...
答案
缺少答案很可能是因为没人能真正告诉您为什么要这样做。这个问题似乎源于将SAS / Stata工作流程应用于python,这根本没有任何意义。

以上是关于按名称从字典中提取数据框的主要内容,如果未能解决你的问题,请参考以下文章

如何有效地从大型数据框字典中提取同一列? (性能警告)

将 CSV 数据框添加到按名称分隔的字典中

从熊猫数据框中提取嵌套字典

如何从字典列表中提取数据到熊猫数据框中?

从列表的字典中提取列表,然后附加到数据框

更新从读取字典的 for 循环生成的 QLineEdit 文本框中的文本