Home > Article > Backend Development > Pandas remove characters from a list of strings
I have a dataframe that contains a date column consisting of strings in this format. I need to strip off the end of the string so it can be converted to a datetime object.
"20231101 05:00:00 america/new_york" "20231101 06:00:00 america/new_york"
I have tried these methods without success.
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'))``
and a few others based on my search. Is there an easy way to do this or should I write a function to slice the string by grabbing the first 17 characters and assigning the result back to a df .
Please note that the format of the string may be '20231101 05:00:00 america/central'
Thanks for all your help.
new_york
with underscores and sometimes newyork
without underscores. If you request that 'newyork'
be removed, 'new_york'
will not be removed. 'america'
, but are different after that; in this case, you can use str.split(' america'). str[0]
retains everything before ' 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
The above is the detailed content of Pandas remove characters from a list of strings. For more information, please follow other related articles on the PHP Chinese website!