import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
plt.style.use('ggplot')
df = pd.read_csv('data.csv')
df_1 = df[df['sp'] == 1]
df_2 = df[df['sp'] == 2]
df_3 = df[df['sp'] == 3]
df_4 = df[df['sp'] == 4]
df_5 = df[df['sp'] == 5]
#df_1 = df[df['sp'] == 'ancistrus']
sp1_fit = np.polyfit(df_1.cp, df_1.peito, 1)
sp2_fit = np.polyfit(df_2.cp, df_2.peito, 1)
sp3_fit = np.polyfit(df_3.cp, df_3.peito, 1)
sp4_fit = np.polyfit(df_4.cp, df_4.peito, 1)
sp5_fit = np.polyfit(df_5.cp, df_5.peito, 1)
# Scatter plots.
#ax1 = df[df['nome_coluna'] == 'nomelinha'].plot(kind='scatter', x='nomecolunaA', y='nomecolunaB', color='blue', alpha=0.5, figsize=(10, 7))
ax1 = df[df['sp'] == 1].plot(kind='scatter', x='cp', y='peito', color='blue', alpha=0.5, figsize=(10, 7))
df[df['sp'] == 2].plot(kind='scatter', x='cp', y='peito', color='red', alpha=0.5, figsize=(10 ,7), ax=ax1)
df[df['sp'] == 3].plot(kind='scatter', x='cp', y='peito', color='purple', alpha=0.5, figsize=(10 ,7), ax=ax1)
df[df['sp'] == 4].plot(kind='scatter', x='cp', y='peito', color='orange', alpha=0.5, figsize=(10 ,7), ax=ax1)
df[df['sp'] == 5].plot(kind='scatter', x='cp', y='peito', color='green', alpha=0.5, figsize=(10 ,7), ax=ax1)
plt.legend(labels=['nomes', 'nomes2'])
plt.title('titulo', size=24)
plt.xlabel('nomeBarrax', size=18)
plt.ylabel('nomeBarraY', size=18);
# regression lines
plt.plot(df_1.cp, sp1_fit[0] * df_1.cp + sp1_fit[1], color='darkblue', linewidth=2)
plt.plot(df_2.cp, sp2_fit[0] * df_2.cp + sp2_fit[1], color='deeppink', linewidth=2)
plt.plot(df_3.cp, sp3_fit[0] * df_3.cp + sp3_fit[1], color='purple', linewidth=2)
plt.plot(df_4.cp, sp4_fit[0] * df_4.cp + sp4_fit[1], color='orange', linewidth=2)
plt.plot(df_5.cp, sp5_fit[0] * df_5.cp + sp5_fit[1], color='green', linewidth=2)
# rodar os 3 juntos
lr_espinho = LinearRegression()
lr_espinho.fit(df_1[['cp']], df_1['peito'])
print(lr_espinho.intercept_)
sp1_fit = np.polyfit(df_1.cp, df_1.peito, 1)
sp2_fit = np.polyfit(df_2.cp, df_2.peito, 1)
#Coeficiente Angular
print(np.polyval(sp1_fit, [50]))
# 60 [17.82209715] - 50[14.26088829] #x=50 e x=60
#3.56 / diferença do X(10)
print(np.polyval(sp2_fit, [60]))
#60 [17.1713] & 50[13.7081]
#3.46
Ex: tabela csv
Ex: resultado
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.