pandas中如何用一种表示方式表示不同类型的日期 2019/12/31 2020-09-08
时间: 2024-11-09 12:31:40 浏览: 9
pandas-0.22.0-cp35-cp35m-win32.whl
在Pandas中,如果你需要处理多种不同形式的日期,比如 '2019/12/31' 和 '2020-09-08',可以先统一日期字符串的格式,然后再转换为日期时间对象。通常我们会使用`str.replace()`或`str.split()`等方法替换特定的分隔符,然后用`pd.to_datetime()`函数进行转换。
例如,你可以创建一个正则表达式模式来匹配这两种格式,然后分别替换它们:
```python
import pandas as pd
# 假设df是一个DataFrame,它有一个日期列
dates_str = df['日期'].astype(str) # 将列转为字符串以便操作
# 使用正则表达式替换日期格式
dates_str = dates_str.str.replace(r'(\d{4})\/(\d{2})\/(\d{2})', r'\1-\2-\3') # 2019/12/31 -> 2019-12-31
dates_str = dates_str.str.replace(r'(\d{4})-(\d{2})-(\d{2})', r'\1-\2-\3') # 2020-09-08 -> 2020-09-08
# 然后转换为datetime
df['日期'] = pd.to_datetime(dates_str)
```
这样,所有日期都会被转换成统一的 'YYYY-MM-DD' 格式。
阅读全文