Home > Backend Development > Python Tutorial > Pandas remove characters from a list of strings

Pandas remove characters from a list of strings

王林
Release: 2024-02-06 08:21:11
forward
1284 people have browsed it

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

Question content

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"
Copy after login

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'))``
Copy after login

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.


correct answer


  • If you want to remove a specific suffix, then I recommend str.removesuffix instead of str.strip.
  • Note that you will sometimes write new_york with underscores and sometimes newyork without underscores. If you request that 'newyork' be removed, 'new_york' will not be removed.
  • After editing your question, the suffixes all start with '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
Copy after login

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!

source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template