Untitled
Korrelationsmatrix und PCA der im Wahl-O-Mat vertretenen Parteien.unknown
python
2 months ago
1.4 kB
16
Indexable
import pandas as pd import seaborn as sb import matplotlib.pyplot as plt df = pd.read_excel( 'Wahl-O-Mat Bundestagswahl 2025_Datensatz_v1.01.xlsx', sheet_name='Datensatz BTW 2025', usecols=['Partei: Kurzbezeichnung', 'These: Nr.', 'Position: Position'], # Column names index_col='Partei: Kurzbezeichnung', converters={'Position: Position': lambda x: {'stimme zu': 1, 'neutral': 0, 'stimme nicht zu': -1}.get(x)}, header=0 ) pivot_df = pd.pivot_table( df, index='Partei: Kurzbezeichnung', columns='These: Nr.', values='Position: Position', aggfunc='first' ).drop('Verjüngungsforschung') fig, ax = plt.subplots(figsize=(11,11)) sb.heatmap( pivot_df.T.corr(), annot=True, cmap='coolwarm', center=0, fmt=".1f", linewidths=.5, annot_kws={"size": 8}, ax=ax, ) fig.savefig('heatmap.jpg') from sklearn.decomposition import PCA from sklearn.preprocessing import StandardScaler data_pcr = PCA(n_components=2).fit_transform( StandardScaler().fit_transform( pivot_df.T.corr() ) ) fig, ax = plt.subplots(figsize=(11,11)) ax.scatter(data_pcr[:,0], data_pcr[:,1], alpha=.5) for i, party in enumerate(pivot_df.index): ax.annotate( party, (data_pcr[i, 0], data_pcr[i, 1]), textcoords="offset points", xytext=(5,2) ) ax.set_xlabel('PCA dim 1') ax.set_ylabel('PCA dim 2') fig.savefig('pca.jpg')
Editor is loading...
Leave a Comment