【发布时间】:2021-06-11 21:21:16
【问题描述】:
对于初学者友好的问题,很抱歉,但这段代码对我不起作用,我不知道为什么。它运行没有错误,但它不填充值。
data['date'] = data['date'].replace(np.nan, '22.02.2021')
我尝试使用这样的“fillna”函数:
data['date'].fillna('22.02.2021', inplace=True)
但它给出错误并说填充值必须在类别中。
【问题讨论】:
对于初学者友好的问题,很抱歉,但这段代码对我不起作用,我不知道为什么。它运行没有错误,但它不填充值。
data['date'] = data['date'].replace(np.nan, '22.02.2021')
我尝试使用这样的“fillna”函数:
data['date'].fillna('22.02.2021', inplace=True)
但它给出错误并说填充值必须在类别中。
【问题讨论】:
通常你可以使用 pandas pd.to_datetime()
https://datatofish.com/replace-nan-values-with-zeros/:
单列:
df['DataFrame Column'] = df['DataFrame Column'].fillna(value=pd.to_datetime('2/22/2021'), inplace=True)
整个数据框:
df.fillna(value=pd.to_datetime('2/22/2021'), inplace=True)
但是,由于您的评论,无论如何都会抛出错误“值错误:填充值必须在类别中”,您必须将数据框中 date 列的 dtype 从 @987654331 更改@ 即 datetime64 见 How do I convert strings in a Pandas data frame to a 'date' data type? 和 Change column type in pandas
当使用 astype() 转换日期时间字符串 (22.02.2021) 时,您可以使用 pd.datetime() 跳过
【讨论】:
date 中字段的数据类型是什么?它是分类的吗?因为如果是,你必须改变它