Pandas: DataFrame

import pandas as pd
df = pd.read_csv('./lwzweit2019.csv', delimiter=";")
df.head()
Nr Wahlkreis Name Wahlb. insges. Wähler Ungült. Zweitstimmen Gültige Zweitstimmen SPD CDU DIE LINKE AfD GRÜNE/B 90 BVB / FREIE WÄHLER PIRATEN FDP ÖDP Tierschutzpartei V-Partei³ Sonstige
0 1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1 1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
2 1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
3 1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
4 1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0
# Eine Kopie mit anderer Spalte als Index
df.set_index('Nr').head()
df.head()
Nr Wahlkreis Name Wahlb. insges. Wähler Ungült. Zweitstimmen Gültige Zweitstimmen SPD CDU DIE LINKE AfD GRÜNE/B 90 BVB / FREIE WÄHLER PIRATEN FDP ÖDP Tierschutzpartei V-Partei³ Sonstige
0 1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1 1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
2 1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
3 1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
4 1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0
# ohne inplace wird eine Kopie angelegt
df.set_index('Nr', inplace=True)
df.head()
Wahlkreis Name Wahlb. insges. Wähler Ungült. Zweitstimmen Gültige Zweitstimmen SPD CDU DIE LINKE AfD GRÜNE/B 90 BVB / FREIE WÄHLER PIRATEN FDP ÖDP Tierschutzpartei V-Partei³ Sonstige
Nr
1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0
list(df)
df.rename(columns = {'Wahlkreis': 'WK',
    'Wahlb. insges.':'wahlb',
    'Wähler':'Wähler',
    'Ungült. Zweitstimmen': 'uWS',
    'Gültige Zweitstimmen': 'gWS',
    'DIE LINKE': 'LINKE',
    'GRÜNE/B 90':'Grüne',
    'BVB / FREIE WÄHLER': 'Freie',
    'ÖDP':'ADP',
    'Tierschutzpartei': 'Tierschutz',
    'V-Partei³': 'V-Partei',
    'Unnamed: 20': 'leer'}).head()
WK Name wahlb Wähler uWS gWS SPD CDU LINKE AfD Grüne Freie PIRATEN FDP ADP Tierschutz V-Partei Sonstige
Nr
1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0
#grouped_data = df[['CDU', 'SPD']].groupby('SPD').sum()
grouped_data = df[['CDU', 'SPD']]
grouped_data[0:10]
#grouped_data
CDU SPD
Nr
1302 76 175
1304 111 176
1309 108 196
1401 12 16
1502 40 82
1503 86 197
1601 31 52
1701 61 101
1702 103 135
8101 18 51
df.count()
Wahlkreis               217
Name                    217
Wahlb. insges.          217
Wähler                  217
Ungült. Zweitstimmen    217
Gültige Zweitstimmen    217
SPD                     217
CDU                     217
DIE LINKE               217
AfD                     217
GRÜNE/B 90              217
BVB / FREIE WÄHLER      217
PIRATEN                 217
FDP                     217
ÖDP                     217
Tierschutzpartei        217
V-Partei³               217
Sonstige                217
dtype: int64
#df.drop('Unnamed: 20', axis=1, inplace=True)
#df.drop('Unnamed: 0', axis=1, inplace=True)
list(df)
df.dropna()
Wahlkreis Name Wahlb. insges. Wähler Ungült. Zweitstimmen Gültige Zweitstimmen SPD CDU DIE LINKE AfD GRÜNE/B 90 BVB / FREIE WÄHLER PIRATEN FDP ÖDP Tierschutzpartei V-Partei³ Sonstige
Nr
1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0
1503 19 Eiche - Altes Rad West/Lindstedter Str. 1190 641 5 636 197 86 64 106 134 13 6 21 3 6 0 0
1601 19 Grube 345 210 3 207 52 31 18 37 42 13 0 7 2 4 1 0
1701 19 Golm - Ehrenpfortenbergstr. 786 450 6 444 101 61 58 69 94 19 4 23 4 8 3 0
1702 19 Golm - Geiselbergstr./Am Mühlenberg 1004 561 4 557 135 103 55 103 94 19 5 18 9 14 2 0
8101 19 Uetz-Paaren 358 180 4 176 51 18 14 42 17 13 2 9 1 9 0 0
8501 19 Neu Fahrland 1281 671 2 669 155 121 72 134 104 21 7 34 4 17 0 0
8602 19 Groß Glienicke - Bullenwinkel/Braumannwe 1085 576 6 570 165 103 35 78 115 20 3 33 1 17 0 0
8604 19 Groß Glienicke - An der Kirche 917 377 3 374 89 48 40 79 62 21 4 19 1 11 0 0
9032 19 Potsdam Briefwahlbezirk 9032 0 773 3 770 155 162 95 70 199 22 6 42 5 11 3 0
9072 19 Potsdam Briefwahlbezirk 9072 0 565 6 559 142 106 63 83 109 15 5 13 5 15 3 0
9074 19 Potsdam Briefwahlbezirk 9074 0 664 4 660 138 135 53 83 141 34 7 52 4 11 2 0
1202 19 Schwielowsee, OT Caputh, Mehrzweckraum 1495 802 7 795 213 96 64 131 165 43 6 52 4 21 0 0
1204 19 Schwielowsee, OT Ferch, Rathaus 780 360 4 356 94 40 25 53 62 57 2 15 3 5 0 0
1205 19 Schwielowsee, OT Ferch, Sportlerheim 768 460 5 455 93 74 36 93 67 67 2 12 1 10 0 0
1208 19 Schwielowsee, OT Geltow, Bürgerclub 660 385 0 385 96 68 52 59 57 15 1 27 0 6 4 0
9005 19 Schwielowsee, Briefwahlbezirk 9005 0 742 3 739 180 138 97 88 128 59 1 33 0 13 2 0
9006 19 Schwielowsee, Briefwahlbezirk 9006 0 1048 4 1044 248 156 115 129 210 85 6 62 6 24 3 0
1500 19 Werder (Havel), Kita Anne Frank 1054 525 7 518 115 80 45 79 136 18 6 21 5 11 2 0
1505 19 Werder (Havel), Karl-Hagemeister-Grundsc 860 342 3 339 90 48 42 81 26 17 1 17 4 13 0 0
1507 19 Werder (Havel), Zur alten Weberei/Angler 1054 559 4 555 123 102 44 115 94 15 7 31 7 14 3 0
1513 19 Werder (Havel), Seniorenresidenz Haus 1 395 180 2 178 57 33 22 28 13 9 0 11 1 0 4 0
1518 19 Werder (Havel), GT Elisabethhöhe, GZ Bli 953 476 5 471 99 80 46 132 46 32 3 23 0 8 2 0
1519 19 Werder (Havel), GT Plessow, Alte Schule 510 287 2 285 70 71 21 52 30 18 0 10 6 6 1 0
1520 19 Werder (Havel), OT Plötzin, Gemeindezent 281 153 4 149 29 46 10 33 11 8 2 3 2 5 0 0
1522 19 Werder (Havel), OT Töplitz, Haus des Bür 778 415 5 410 121 63 31 92 56 16 1 18 2 10 0 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
7104 22 Stern - In der Aue/Gluckstr. 1285 669 5 664 193 67 134 115 70 20 5 23 5 28 4 0
4207 22 Südliche Innenstadt - Finkenweg 382 220 0 220 33 21 47 25 60 5 6 3 7 9 4 0
7106 22 Stern - Johannes-Kepler-Platz/Chopinstr. 1101 465 9 456 144 36 108 89 31 7 7 15 2 15 2 0
6201 22 Teltower Vorstadt - Kolonie Daheim 1257 653 6 647 180 63 99 64 168 16 0 28 9 15 5 0
7202 22 Drewitz - Sterncenter/Erich-Pommer-Str. 1051 436 9 427 149 45 87 79 27 12 7 12 2 7 0 0
6302 22 Schlaatz - Milanhorst 812 290 2 288 72 19 54 81 26 11 1 5 5 13 1 0
7205 22 Drewitz - Willy-A.-Kleinau-Weg 754 264 2 262 82 16 52 67 17 10 3 8 0 5 2 0
6403 22 Waldstadt I - Bernhard-Kellermann-Str. 1104 540 7 533 182 55 78 110 55 14 5 15 4 15 0 0
7206 22 Drewitz - Gerlachstr/E-v-Winterstein-Str 711 297 2 295 81 21 45 80 24 13 3 14 0 13 1 0
6503 22 Waldstadt II - Kiefernring/Sonnentaustr. 1024 401 5 396 86 41 62 106 45 17 5 9 4 20 1 0
7301 22 Kirchsteigfeld - Eleonore-Prochaska-Str. 1011 486 7 479 144 41 69 92 84 11 6 14 3 15 0 0
6504 22 Waldstadt II - Saarmunder Str. 1209 407 4 403 106 31 92 73 48 15 5 8 4 17 4 0
7303 22 Kirchsteigfeld - Zum Teich/Schinkelstr. 1149 657 2 655 200 106 105 106 58 12 7 22 10 27 2 0
6505 22 Waldstadt II - Am Springbruch 1111 462 6 456 99 31 85 137 36 15 3 13 4 30 3 0
9061 22 Potsdam Briefwahlbezirk 9061 0 589 9 580 142 74 84 63 150 12 3 33 4 15 0 0
6506 22 Waldstadt II - Liefelds Grund 914 355 3 352 102 27 68 82 28 13 4 9 6 11 2 0
9062 22 Potsdam Briefwahlbezirk 9062 0 545 3 542 154 76 82 73 106 18 2 16 2 10 3 0
7105 22 Stern - Parforceheide 1167 549 9 540 146 54 103 84 99 7 7 24 2 13 1 0
9063 22 Potsdam Briefwahlbezirk 9063 0 661 9 652 179 52 132 134 83 13 10 16 7 21 5 0
7109 22 Stern - Niels-Bohr-Ring 787 342 4 338 86 22 94 88 21 5 4 4 2 9 3 0
9064 22 Potsdam Briefwahlbezirk 9064 0 1027 7 1020 274 138 184 144 148 23 12 50 6 35 6 0
7110 22 Stern - Otto-Hahn-Ring 895 325 6 319 90 20 79 64 27 9 4 10 1 14 1 0
9066 22 Potsdam Briefwahlbezirk 9066 0 573 0 573 145 53 136 96 80 13 3 13 14 18 2 0
7112 22 Stern - Gaußstr./Sternstr. 895 297 1 296 89 14 61 83 20 10 2 8 1 6 2 0
9068 22 Potsdam Briefwahlbezirk 9068 0 747 10 737 209 78 186 103 86 15 5 26 1 21 7 0
7201 22 Drewitz - Alt Drewitz/Am Silbergraben 1045 542 8 534 156 70 52 119 69 19 3 26 5 13 2 0
7302 22 Kirchsteigfeld - Priesterweg 1015 465 9 456 117 34 79 115 50 10 4 22 8 15 2 0
9065 22 Potsdam Briefwahlbezirk 9065 0 624 2 622 202 57 134 88 75 17 11 14 7 17 0 0
9070 22 Potsdam Briefwahlbezirk 9070 0 605 8 597 145 81 115 106 71 15 19 25 2 15 3 0
9071 22 Potsdam Briefwahlbezirk 9071 0 580 2 578 154 55 113 74 92 19 14 27 10 18 2 0

217 rows × 18 columns

df.reset_index(inplace=True)
df.head()
Nr Wahlkreis Name Wahlb. insges. Wähler Ungült. Zweitstimmen Gültige Zweitstimmen SPD CDU DIE LINKE AfD GRÜNE/B 90 BVB / FREIE WÄHLER PIRATEN FDP ÖDP Tierschutzpartei V-Partei³ Sonstige
0 1302 19 Bornstedt - Fliederweg 1183 635 4 631 175 76 86 94 121 22 2 31 7 15 2 0
1 1304 19 Bornstedt - Kirschallee/Thaerstr. 1259 697 4 693 176 111 59 102 154 15 2 54 7 12 1 0
2 1309 19 Bornstedt - A.-Wolff-Platz/E.-Arendt-Str 1742 847 2 845 196 108 82 78 239 26 9 59 18 24 6 0
3 1401 19 Sacrow 109 60 0 60 16 12 8 8 11 2 0 0 0 3 0 0
4 1502 19 Eiche - Kaiser-Friedrich-Str. Süd 757 335 3 332 82 40 51 68 55 8 1 14 4 8 1 0