Las diferencias de opinión entre los partidos políticos se visualizan a través de Python.

SOURCE 10896 palabras Python

Resumen


Dado que mañana es la elección, trate de visualizar las opiniones de los partidos políticos en Aquí..
¡No hay intención política, de todos modos, ve a las elecciones mañana!

PCA


De todos modos, me preocupo por el PCA.

• Código fuente

import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import seaborn as sns
from scipy.stats import pearsonr
from sklearn.decomposition import PCA

plt.rcParams['font.family'] = 'IPAexGothic'

df = pd.read_csv("input.tsv", sep="\t", index_col=0)
df = df.replace({
    "賛成": 2,
    "やや賛成": 1,
    "選択なし": 0, # 若干ニュアンスが違うが、0扱い。
    "中立": 0,
    "やや反対": -1,
    "反対": -2
})
df = df.transpose()

# do pca
pca = PCA(n_components=2)
pca.fit(df.values.T)
explained_variance_ratio = [100.0 * v for v in pca.explained_variance_ratio_]
pc_coord = pca.fit_transform(df.values.T)
arrows = []
for i, feature in enumerate(df.index):
    feature_dict = {}
    feature_dict['name'] = feature
    feature_dict['x'] = pearsonr(df.values[i, :], pc_coord[:, 0])[0]
    feature_dict['y'] = pearsonr(df.values[i, :], pc_coord[:, 1])[0]
    feature_dict['len'] = np.sqrt(
        feature_dict['x']**2 + feature_dict['y']**2)
    arrows.append(feature_dict)

plt.scatter(x=pc_coord[:, 0], y=pc_coord[:, 1])
for x, y, text in zip(pc_coord[:, 0], pc_coord[:, 1], df.columns):
    plt.text(x, y, text)

for arrow in arrows:
    plt.arrow(0, 0, arrow["x"]*3, arrow["y"]*3, fc="red", ec="red", alpha=0.5)
    plt.text(arrow["x"]*3, arrow["y"]*3, arrow["name"])
# plt.savefig("pca.png")

• Resultados



El partido en el poder es obstinado y la oposición puede aprovechar varios modelos.

Mapa de Clusters


Si es tan simple, creo que puedo ver todo en un Map a caliente.
Pruebe heatmap & Visualization con sns.clustermap.
sns.clustermap(df, cmap=sns.color_palette("coolwarm", 5))

La economía abeliana muestra que el 10% del impuesto sobre el consumo y la reducción de las cuotas parlamentarias difieren en la percepción de la temperatura entre los partidos en el poder y la oposición.
Fin.