Publié simultanément sur le blog: https://leoluistudio.com/blog/42/python%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e6%9d%b1%e4%ba%ac%e9%83%bd%e5%ae%b6%e8%b3%83%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e3%81%ae%e7%a0%94%e7%a9%b6-4%e3%81%ae3/
La raison en est que le nombre de propriétés dans le bâtiment est différent. Par exemple, s'il y a 50 propriétés par bâtiment, le poids sera 50 fois celui d'une propriété par bâtiment lors du calcul de la répartition. Prenez une valeur médiane pour chaque bâtiment afin qu'elle soit calculée uniformément.
conn = sqlite3.connect(‘info.db’)
df = pd.read_sql_query(“SELECT pid,price,area FROM price”, conn)
conn.close()
df[‘municipal’] = df.apply(municipal, axis=1)
dfmedian = df.groupby([‘pid’, ‘municipal’])[‘price’, ‘area’, ‘average’].median()
dfmedian_reset = dfmedian.reset_index(level=’municipal’)
Répartition des prix par quartier (23 quartiers)
#Graphique
fig = go.Figure()
for i in m23_list:
dfgroup = dfmedian_reset[dfmedian_reset[‘municipal’] == i]
fig.add_trace(go.Box(x=dfgroup[‘price’], y=dfgroup[‘municipal’], boxpoints=False))
fig.update_traces(orientation=’h’, showlegend=False)
fig.update_xaxes(range=[0, 500000])
Répartition de la zone pour chaque quartier (23 quartiers)
#Graphique
fig = go.Figure()
for i in m23_list:
dfgroup = dfmedian_reset[dfmedian_reset[‘municipal’] == i]
fig.add_trace(go.Box(x=dfgroup[‘area’], y=dfgroup[‘municipal’], boxpoints=False))
fig.update_traces(orientation=’h’, showlegend=False)
fig.update_xaxes(range=[0, 100])
Calculer le prix moyen (prix / surface)
def average(df):
return int(df[‘price’] / df[‘area’])
df[‘average’] = df.apply(average, axis=1)
Répartition du prix moyen pour chaque quartier (23 quartiers)
#Graphique
fig = go.Figure()
for i in m23_list:
dfgroup = dfmedian_reset[dfmedian_reset[‘municipal’] == i]
fig.add_trace(go.Box(x=dfgroup[‘average’], y=dfgroup[‘municipal’], boxpoints=False))
fig.update_traces(orientation=’h’, showlegend=False)
Relation entre le prix moyen et le temps de marche jusqu'à la gare
#Traitement des trames de données
dfmedian_reset = dfmedian.reset_index(level=’pid’)
dfmedian_reset[‘train’] = dfmedian_reset.apply(trainminute, axis=1)
#Graphique
fig = px.scatter(dfmedian_reset, x=’train’, y=’average’, height=500, width=1000)
Relation entre le prix moyen et le type de bâtiment
dfmedian_reset = dfmedian.reset_index(level=’pid’)
dfmedian_reset[‘type’] = dfmedian_reset.apply(buildtype, axis=1)
fig = go.Figure()
for i in (['appartement','Appartement']):
dfgroup = dfmedian_reset[dfmedian_reset[‘type’] == i]
fig.add_trace(go.Box(x=dfgroup[‘price’], y=dfgroup[‘type’], boxpoints=False))
fig.update_traces(orientation=’h’, showlegend=False)
fig.update_xaxes(range=[0, 500000])
fig.update_layout(height=500, width=1000)
Relation entre le prix moyen et le type de bâtiment
Relation entre le prix moyen et la structure du bâtiment
Relation entre le prix moyen et le parking
Relation entre le prix moyen et le parking
Répartition des dates d'achèvement (divisées en 23 quartiers et zones urbaines)
Carte thermique direction et prix du quartier, ville, village, village
Recommended Posts