У меня есть два CSV-файла с одинаковыми именами столбцов в разных порядках. Мне нужно сопоставить столбцы между обоими CSV-файлами между их общими заголовками и построить график корреляции данных. Например, из файла file1 и file2 я хочу сравнить столбец «ASA» и сформировать график зависимости от этого. У меня есть отдельный файл со всеми именами столбцов, которые мне нужно сравнить, так что, если можно перебрать миллионы файлов, которые у меня есть, но pandas постоянно говорит мне, что у меня возникает ошибка атрибута, когда я добавляю свой «список» в y = data2.lines .values или x = data1.lines.values. Я попытался зациклить и сделать условия соответствия, но ничего не получилось.
import csv
import pandas as pd
import numpy as np
from pandas import DataFrame
import matplotlib.pyplot as plt
from scipy import linspace, polyval, polyfit, sqrt, stats, randn
#File1
data1 = pd.read_csv('sorted_42650files_from_the_1.7chembl_database.csv',low_memory=False) #read large csv filei
#File2
data2 = pd.read_csv('sorted_60kdat_without_duplicates.csv',low_memory=False)
#File3
data3 = pd.read_csv('headers.csv',low_memory=False)
lines = data3.readlines()
#create my x and y column for linear regression comparison based only on the descritor.csv header name
x = data1.lines.values
y = data2.lines.values
print(x)
print(y)
#plot it
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
plt.plot(x,y, 'o', color='purple')
plt.plot(x,intercept + slope*x, color="black", label='fitted line' + ',' + '$R^2$={:.4f}'.format(r_value))
plt.suptitle('MOE ASA+ Descriptor Correlation Plot', fontsize=14)
plt.xlabel('Ab Initio', fontsize=16)
plt.ylabel('Molecular Mechanics', fontsize=16)
plt.legend(loc=4)
print('$R^2$={:.4f}'.format(r_value))
plt.show()
plt.savefig('ASA+')
plt.close()
файл данных1
файл данных2
file data3 (все заголовки, которые я хочу соотнести между файлами)
Спасибо за любую помощь, которую вы можете оказать мне.