初级python(因此是pandas)用户。我正在尝试将一些数据导入到pandas数据框中。其中一列是日期,但格式是“YYYYMM”。我试着按照大多数论坛的回答来做:
df_cons['YYYYMM'] = pd.to_datetime(df_cons['YYYYMM'], format='%Y%m')
但这不起作用(ValueError: unconverted data remains: 3
)。该列实际上包括每年的附加值,MM=13。消息人士用这一行作为过去一年的平均数。我猜to_datetime
对此有问题。
有谁能提供一个快速的解决方案,要么去掉所有的年平均值(那些最后两位数字是“13”),要么让to_datetime
忽略它们?
传递
errors='coerce'
,然后dropna
行NaT
:duff month值将转换为
NaT
值或者你可以在转换之前过滤掉它们
虽然这可能会导致对齐问题,因为返回的序列需要相同的长度,所以传递
errors='coerce'
是一个更简单的解决方案先清理数据帧。
如果YYYYMM列在数据集中是唯一的,我建议将该列转换为句点索引。
首先将YYYYMM转换为index,然后将其转换为monthly period。
相关问题 更多 >
编程相关推荐