Ein Worttagebuch: Gott Excel wird für immer zunehmen.
Seltsamerweise gibt es immer noch viele Fälle auf der Welt, in denen Excel wie die Tabelle direkt erstellt wird.
Name | Position | Alter | Name | Position | Alter | |
---|---|---|---|---|---|---|
Maus oder Ratte | Gott | 60 | Hase | Manager | 24 | |
Kuh | Direktor | 48 | Tatsu | 〃 | 12 | |
Tiger | 〃 | 36 | Schlange | Sklave | 1 | |
Mogura | Niedriger Angestellter | 20 | ||||
Bär | 〃 | 20 | Aktualisiert: Heute |
Tabelle A (〃 stellt die Kombination von Zellen dar. Es gibt eine leere Linie zwischen dem Tiger und der Mogura) Ich brauche kein Aktualisierungsdatum, daher wäre es sehr hilfreich, wenn Sie dies wie in der folgenden Tabelle gezeigt tun könnten, aber es gibt verschiedene Dinge auf der Welt, wie z. B. Druckkomfort und Shinto.
Name | Position | Alter |
---|---|---|
Maus oder Ratte | Gott | 60 |
Kuh | Direktor | 48 |
Tiger | Direktor | 36 |
Mogura | Niedriger Angestellter | 20 |
Bär | Niedriger Angestellter | 20 |
Hase | Manager | 24 |
Tatsu | Manager | 12 |
Schlange | Sklave | 1 |
Tabelle B.
Nehmen Sie Tabelle A, konvertieren Sie sie in Tabelle B und verwenden Sie sie dann als Daten.
Vorerst habe ich Folgendes mit brutaler Gewalt zusammengestellt. Sehr elefant meiner Meinung nach. Paon.
Erste Stufe
dataframe_raw = pd.read_excel("Tabelle A..xlsx")
df_A=dataframe_raw.iloc[:,[*range(0,3)]].dropna(how="all").fillna(method='ffill').astype({'Alter':int})
#0 aus Rohdaten in iloc-2 Reihen herausnehmen.[*range()]Ist praktisch, weil Sie nicht 0, 1, 2 ... usw. schreiben müssen.
#dropna()Und 0-Gelöschte Zeilen, in denen alle drei Spalten NaN sind
#fillna()Die Daten werden direkt über NaN gezogen, sodass Sie die in den zusammengeführten Zellen erstellten Lücken ausfüllen können.
#Verwenden Sie astype, um das vom float-Typ gelesene Alter in int-Typ zu ändern
Zu diesem Zeitpunkt sieht df_A wie in der folgenden Tabelle aus. Die leere Zeile und "〃" sind verschwunden, also Yoshi!
Name | Position | Alter |
---|---|---|
Maus oder Ratte | Gott | 60 |
Kuh | Direktor | 48 |
Tiger | Direktor | 36 |
Mogura | Niedriger Angestellter | 20 |
Bär | Niedriger Angestellter | 20 |
Zweite Etage
df_B=dataframe_raw.iloc[:,[*range(4,7)]].dropna(how="all").fillna(method='ffill')
#Grundsätzlich df_Gleich wie A. Normalerweise jedoch pd_Beim Lesen mit Lesen: "Für denselben Spaltennamen.Beachten Sie, dass es ein Unterscheidungssymbol wie 1 "gibt.
df_B.drop(df_B.tail(1).index,inplace=True)
#Da die Informationen zum Aktualisierungsdatum am Ende nicht erforderlich sind, werden sie abgeschnitten.
df_B.astype({'Alter.1':int})
df_B.columns=("Name","Position","Alter")
#Wie oben erwähnt, df_In der Spalte von B..1 ist angehängt, also benennen Sie es um
dataframe_comp=pd.concat([df_A,df_B])
#Da die Spalten gleich sind, wird dies durch vertikales Verbinden mit concat vervollständigt.
Das fertige Produkt ist Tabelle B, die in der Einleitung geschrieben wurde.
Wo man sich Sorgen machen muss
df_B.astype({'Alter.1':int})
df_B.columns=("Name","Position","Alter")
Ich finde, dass dieser Bereich sehr verschwenderisch ist. Sie können sie nicht einmal in eine Zeile setzen ... Es scheint eine Möglichkeit zu geben, die Angabe des int-Typs zum Zeitpunkt des Lesens und Umbenennens der Spalten zu vermeiden.
Auch ** Gibt es eine Möglichkeit, diese Arbeit selbst auf einmal zu erledigen? Ich vermute **. Diese Art von Angst gab es schon immer, seit mir in der Vergangenheit die Zusammenführungsfunktion beigebracht wurde. Referenz: https://qiita.com/wellwell3176/items/5e39fd44590603d13291
https://www.366service.com/jp/qa/ee53add5af3296037ee057e49442a821
https://www.it-swarm-ja.tech/ja/python/pandas%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E6%9C%80%E5%BE%8C%E3%81%AE%E8%A1%8C%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/1050572731/