ich Pandas Datenrahmen mit drei Spalten:Ersetzt Räume mit NAN in Pandas Datenrahmen
Name Name2 DateTime
2016-06-10 05:22
2016-06-10 05:23
2016-06-10 14:25
Guest Guest1 2016-06-10 15:32
ich mit NAN leere Räume zu ersetzen. So sollten AccountName und AccountName2 der Zeilen 1,2,3 und 4 NAN sein. Ich versuchte, die unter Anweisung:
df3['Name'] = df3['Name'].replace(r'[^\s+]',np.nan, regex=True)
Aber da ich weiß Leerzeichen nach „Gast“ in Namen haben, alle 5 Reihen mit NAN ersetzt bekommen.
Edit:
Dies ist unsere tatsächlichen Daten.
Name Name2 DateTime
\t\t-\r\n\t \t\t-\r\n\t 2016-06-10 05:22
\t\t-\r\n\t \t\t-\r\n\t 2016-06-10 05:23
\t\t-\r\n\t \t\t-\r\n\t 2016-06-10 14:25
\t\tGuest\r\n\t \t\tGuest1\r\n\t 2016-06-10 15:32
Ich habe dies verwendet, um diese Escape-Zeichen zu entfernen.
df['Name'] = df['Name'].str.replace('\r','').str.replace('\t','').str.replace('\n','').str.replace('-','')
Nachdem ich diese Zeichen entfernt habe, bin ich mir nicht sicher, was an dieser Stelle eingefügt wird.
Sie könnten die Räume streifen und dann ersetzen 'df [ 'Name'] str. .strip(). replace (r '[^ \ s +]', np.nan, regex = Wahr) ' – EdChum
df ['Name'] hat den Typ float64. Ich versuche, es in String zu konvertieren und dann ersetzen, aber ich bin immer noch nicht erfolgreich. – user3447653
Wie kann es float64 sein, wenn Sie Strings haben? – EdChum