从同一图上的多个数据框绘制数据-访问数据框列表中列出的数据框时出现问题

时间:2019-03-29 16:28:52

标签: python pandas list dataframe

我在同一文件夹中有多个文件,每个文件都具有相同的结构(两列带有数字)。

我创建文件列表。 我将每个文件中的数据加载到pandas数据框。 我想将这些数据框绘制在一个图上,但是我无法遍历列表中的数据框。

如果我手动输入确切的数据框名称,它将起作用。

import os
import fnmatch
import matplotlib.pyplot as plt 
import pandas as pd

plt.close('all')

#path to data
path_data = ComputerPath+'/ela/bzdury/Data/'

#create list of files with s3 in name
patern = '*s3*'            
filename_list =[]
listOfFiles = os.listdir(path_data) 
for entry in listOfFiles: 
    if fnmatch.fnmatch(entry, pattern):
            print (entry) 
            filename_list.append(entry)

#save data in separate dataframes, if "-" in filename replace it with"_"
df_names =[]
for file in filename_list:
    name = file+'_df'
    name = name.replace("-", "_")
    df_names.append(name)
    b = pd.read_table(path_data+file, comment='c', delim_whitespace=True,header=None)
    globals()[name] = b

print(df_names)

#plot   
fig = plt.figure(figsize=(12, 8))

for df_idx in df_names:
    plt.scatter(df_idx[0],df_idx[1])

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您如何存储数据帧。您是否考虑过将名称和数据框存储在字典中?这应该起作用

#save data in separate dataframes, if "-" in filename replace it with"_"
df_data = {}
for file in filename_list:
    name = file+'_df'
    name = name.replace("-", "_")
    df_data[name] = pd.read_table(path_data+file, comment='c', delim_whitespace=True,header=None)

#plot   
fig = plt.figure(figsize=(12, 8))

for name, data in df_data.items():
    plt.scatter(data[0],data[1])