Ich habe eine CSV-Datei bekommen, die wie folgt aussehen soll:Pandas, verketten bestimmte Spalten, wenn andere Spalten sind leer
ID, years_active, issues
-------------------------------
'Truck1', 8, 'In dire need of a paintjob'
'Car 5', 3, 'To small for large groups'
jedoch die CSV etwas fehlerhaft ist und sieht derzeit wie folgt aus.
ID, years_active, issues
------------------------
'Truck1', 8, 'In dire need'
'','', 'of a'
'','', 'paintjob'
'Car 5', 3, 'To small for'
'', '', 'large groups'
Nun, ich bin durch das Fehlen einer ‚ID‘ fehlerhafte Zeilen identifizieren können und ‚years_active‘ Wert und möchte den Wert von ‚Themen dieser Reihe zum letzten vorhergehenden Zeile, die hatte‘ anhängen ID 'und' Jahre_aktiv 'Werte.
ich sehr bin nicht mit Pandas erlebt, kam aber mit dem folgenden Code auf:
for index, row in df.iterrows():
if row['years_active'] == None:
df.loc[index-1]['issues'] += row['issues']
Yet - die IF-Bedingung auszulösen ausfällt. Ist das, was ich versuche, möglich? Und wenn ja, hat jemand eine Idee, was ich falsch mache?
Dies löste es, danke! – Jasper
Eine Alternative wäre: 'df.groupby (df.ID.str.len(). Gt (0) .cumsum()). Agg ({'Issues': '' .join, 'years_active': 'first' }) ' –