我有一個資料框,其中包含由這種格式的字串組成的日期列。我需要去掉字串的末尾,以便可以轉換為日期時間物件。
"20231101 05:00:00 america/new_york" "20231101 06:00:00 america/new_york"
我嘗試過這些方法但沒有成功。
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'))``
以及根據我的搜尋得出的其他一些內容。有沒有一種簡單的方法可以做到這一點,或者我應該編寫一個函數來透過抓取前 17 個字元並將結果分配回 df 來對字串進行切片。
請注意,字串的格式可能為 '20231101 05:00:00 america/central'
感謝您提供的所有協助。
new_york
,有時會寫不帶底線的 newyork
。如果您要求刪除 'newyork'
,則 'new_york'
將不會被刪除。 'america'
開頭,但後面有所不同;在這種情況下,您可以使用str.split(' america'). str[0]
保留' america'
之前的所有內容。 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
以上是Pandas 從一列字串中刪除字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!