Ich habe einen Datenrahmen, der eine Datumsspalte enthält, die aus Zeichenfolgen in diesem Format besteht. Ich muss das Ende der Zeichenfolge abschneiden, damit sie in ein Datetime-Objekt konvertiert werden kann.
"20231101 05:00:00 america/new_york" "20231101 06:00:00 america/new_york"
Ich habe diese Methoden erfolglos ausprobiert.
df['Date'] = df['Date'].replace('^.*\]\s*', '', regex=True) df['Date'] = df['Date'].str.strip(' America/New_York') df['Date'] = df['Date'].map(lambda x: x.rstrip(' America/NewYork'))``
Und ein paar andere basierend auf meinen Suchanfragen. Gibt es eine einfache Möglichkeit, dies zu tun, oder sollte ich eine Funktion schreiben, um die Zeichenfolge aufzuteilen, indem die ersten 17 Zeichen erfasst und das Ergebnis wieder einem df zugewiesen werden?
Bitte beachten Sie, dass das Format der Zeichenfolge '20231101 05:00:00 america/central'
Danke für all die Hilfe.
new_york
,有时会编写不带下划线的 newyork
。如果您要求删除 'newyork'
,则 'new_york'
schreiben, das nicht gelöscht wird. 'america'
开头,但后面有所不同;在这种情况下,您可以使用 str.split(' america').str[0]
保留 ' america'
als Suffix hinzu. import pandas as pd df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'], 'Date': ["20231101 05:00:00 America/New_York", "20231101 06:00:00 America/New_York", "20231101 07:00:00 America/Central"] }) # df['Date'] = df['Date'].str.removesuffix(' America/New_York') df['Date'] = df['Date'].str.split(' America').str[0] print(df) # Name Date # 0 Alice 20231101 05:00:00 # 1 Bob 20231101 06:00:00 # 2 Charlie 20231101 07:00:00
Das obige ist der detaillierte Inhalt vonPandas entfernen Zeichen aus einer Liste von Zeichenfolgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!