上代码:
import pandas as pd
# 假设有一个DataFrame df,包含一个名为 'Date' 的列
df = pd.DataFrame({'Date': ['2023-06-01', '2023-06-02', '2023-06-03', 'Invalid Date']})
# 将 'Date' 列转换为日期格式,忽略非日期格式的值
df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
df.loc[pd.isnull(df['Date']), 'Date'] = None
# 使用 .dt 访问器操作日期时间列
df['Date'] = df['Date'].dt.date
# 打印修改后的DataFrame
print(df)
输出结果:
Date
0 2023-06-01
1 2023-06-02
2 2023-06-03
3 None
当执行上面的代码时,将执行以下步骤:
- 导入
pandas
库,以便使用其中的函数和方法。 - 创建一个名为
df
的DataFrame,其中包含一个名为'Date'
的列。该列包含了不同的日期值,包括一个无效的日期值'Invalid Date'
。 - 使用
pd.to_datetime
函数将'Date'
列转换为日期时间格式。errors='coerce'
参数告诉函数在无法转换为日期的情况下将其设置为缺失值(NaT)。 - 使用
pd.isnull
函数检查哪些值是缺失值(NaT),并使用loc
访问器在DataFrame中选择这些缺失值的位置。 - 将这些缺失值设置为
None
,以在DataFrame中表示缺失的日期值。 - 使用
.dt
访问器操作日期时间列,使用.date
属性将日期时间对象转换为日期对象。 - 打印修改后的DataFrame。
在上述代码中,我们使用pd.to_datetime
将包含日期值的列转换为日期时间格式。在转换过程中,将无法解析为日期的值设置为缺失值(NaT)。然后,我们使用pd.isnull
检查哪些值是缺失值,并将其设置为None
。最后,使用.dt
访问器操作日期时间列,并使用.date
属性将日期时间对象转换为日期对象。文章来源:https://www.toymoban.com/news/detail-743247.html
这样,我们就可以将DataFrame的列转换为日期格式,并忽略非日期格式的值。文章来源地址https://www.toymoban.com/news/detail-743247.html
到了这里,关于【Python】【pandas】DataFrame将包含日期值的列转换为日期时间格式或者日期格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!