Я пытаюсь сделать график сравнения столбцов для двух типов переменных и их количества из CSV-файлов в python, используя pandas
и matplotlib
. Каждый тип переменных данных хранится в разных каталогах. Я создал два цикла как для разных данных, так и для concate
их и построил их график. Но есть проблема в зацикливании и добавлении данных. Первый тип переменных данных не добавляется к следующему файлу, он всегда берет 1-й файл и объединяется со 2-м типом данных переменных (который добавляется правильно). Вот код, который я использую
path = '/scratch/plots/'
A_files = sorted(glob.glob(os.path.join(path, "*table.csv")))
path = '/scratch/plots/B/'
B_files = sorted(glob.glob(os.path.join(path, "*table.csv")))
# loop through the files and read them in with pandas
dataframes = [] # a list to hold all the individual pandas DataFrames
for csvfile in A_files:
df = pd.read_csv(csvfile,usecols = ['COUNT','CLASS'])
dataframes.append(df) #this case it is taking only first file to concate. Loop doest not appending correctly
dataframes2 = []
for x in B_files:
fn= os.path.splitext(x)[0]
df2 = pd.read_csv(x,usecols = ['COUNT','CLASS'])
dataframes2.append(df2)
A_df=df.iloc[2:12]
B_df=df2.iloc[2:12]
a= pd.concat([A_df,B_df], axis=1)
ax=a.set_index('CLASS').plot(kind='bar',rot=0, figsize=(15,10), fontsize=12)
ax.legend(["A", "B"]);
plt.savefig('' + fn[:-32]+'_bargraph' + '.png', dpi=300)
plt.show()
Как я могу добавить через каждый файл хотя 1-й oop из словаря ? Я приложил один пример объединенного фрейма данных и графики введите описание изображения здесь