我正在从csv导入数据,并尝试将特定日期设置为今天的日期。
如果csv中的数据采用以下格式:
该列中的所有数据都是日期,并且格式完全相同。目前,我用df = pd.read_csv(r'<filapath.csv>)
读取了数据。
然后运行此命令,将'7/21/2020‘的所有实例转换为今天的日期:
df['filedate'] = np.where(pd.to_datetime(df['filedate']) == '7/21/2020', pd.Timestamp('now').floor(freq='d'),df['filedate'])
我收到这个错误:pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-14 00:00:00
我不想使用errors='coerce'
,因为列将始终由实际日期100%填充,稍后我将需要按日期过滤数据帧。csv数据中似乎有一些我看不到的“幽灵”精度。在这种情况下,我不能修改csv列,也不能使用pandas和numpy之外的任何包。
发布于 2020-07-24 21:54:01
...or或.loc
df.loc[df['filedate'] == '7/21/2020', 'filedate'] = pd.Timestamp('now').floor(freq='d')
发布于 2020-07-24 21:51:11
使用.replace()函数。
df['filedate'].replace({'7/21/2020':pd.Timestamp('now').floor(freq='d')})
https://stackoverflow.com/questions/63074860
复制相似问题