Я сделал цикл, в котором я перебираю (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"]
?
По сути, я задаю тот же вопрос, что и здесь . Похоже, он тоже не получил ответа, так что я думаю, что это невозможно, но мне еще предстоит найти ответ, который явно говорит, что это не так.
Я знаю, что этовозможно в таких языках, как SAS и Stata, но я никогда не понимал, как это сделать в Python. В этих языках вы можете подключить переменную-заполнитель непосредственно к имени чего-либо.
/* In SAS */
%let param = test1
libname path "C:\User\¶m."
proc sql;
create ¶m._df as
select * from path.¶m.
quit;
/* In Stata */
foreach i in file1 file2 {
import delimited "`i'.csv", clear
save "`i'.dta", replace
}
и т. Д. Если это не возможно, я хотел бы знать это наверняка. Спасибо!