jupyternotebook中将一列日期格式yyyymmdd转化为yyyy-mm-dd后日期错误
时间: 2023-08-23 18:06:00 浏览: 104
Javascript将字符串日期格式化为yyyy-mm-dd的方法
5星 · 资源好评率100%
如果在将日期格式从`yyyymmdd`转换为`yyyy-mm-dd`后发现日期错误,可能是因为原始日期字符串中包含了无效的日期,例如`20210231`这样的日期。可以使用Pandas库中的`errors`参数来处理这种情况。
具体操作如下:
```python
import pandas as pd
df = pd.read_csv('data.csv') # 读取包含日期列的CSV文件
df['date'] = pd.to_datetime(df['date'], format='%Y%m%d', errors='coerce') # 将日期列转换为Pandas的datetime类型,错误日期设置为NaN
df['date'] = df['date'].dt.strftime('%Y-%m-%d') # 将日期格式化为yyyy-mm-dd的格式
# 输出结果
print(df)
```
其中,`pd.to_datetime()`函数用于将日期列转换为Pandas的datetime类型,第二个参数`format='%Y%m%d'`表示原始日期字符串的格式为`yyyymmdd`,`errors='coerce'`表示将无效的日期转换为NaN值;`dt.strftime()`函数用于将datetime类型的日期转换为指定格式的字符串,第二个参数`'%Y-%m-%d'`表示目标格式为`yyyy-mm-dd`。
转换后,DataFrame对象中的`date`列就变成了`yyyy-mm-dd`格式的日期字符串,无效的日期则被转换为了NaN值。如果需要删除无效日期的行,可以使用`dropna()`函数来删除包含NaN值的行。
阅读全文