Heim > Backend-Entwicklung > Python-Tutorial > Pandas entfernen Zeichen aus einer Liste von Zeichenfolgen

Pandas entfernen Zeichen aus einer Liste von Zeichenfolgen

王林
Freigeben: 2024-02-06 08:21:11
nach vorne
1248 Leute haben es durchsucht

Pandas 从一列字符串中删除字符

Frageninhalt

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"
Nach dem Login kopieren

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'))``
Nach dem Login kopieren

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'

sein kann

Danke für all die Hilfe.


Richtige Antwort


  • Wenn Sie ein bestimmtes Suffix entfernen möchten, empfehle ich str.removesuffix anstelle von str.strip.
  • Bitte beachten Sie, dass Sie manchmal ein unterstrichenes new_york,有时会编写不带下划线的 newyork。如果您要求删除 'newyork',则 'new_york' schreiben, das nicht gelöscht wird.
  • Nachdem Sie Ihre Frage bearbeitet haben, fügen Sie alles vor '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
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage