将Pandas应用于_数值函数时保留日期

2024-06-30 17:03:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用pd.to_numeric将pandas数据框中的数据设置为numeric,但是当我运行代码时,datetime日期会被NaN覆盖

初始数据:

           Header1       Header2      Header3      Header4
Row1     01-01-2020   15-01-2020   01-02-2020   15-02-2020
Row2          123           456         789           246
Row3          321           654         987           642
Row4          123           456         789           246

结果:

           Header1       Header2      Header3      Header4
Row1           NaN           NaN         NaN           NaN
Row2          123           456         789           246
Row3          321           654         987           642
Row4          123           456         789           246

如何有选择地使用pd.to_numeric将数据转换为数字,但保留已经存在的日期时间日期?干杯


Tags: to数据pandasnanpdrow1row2row3
1条回答
网友
1楼 · 发布于 2024-06-30 17:03:02

您可以在pd.to_numeric中使用标志errors='ignore'。下面是一个例子:

import datetime
import pandas as pd 

date = datetime.datetime(2020, 2, 3, 14, 15)
df = pd.DataFrame(data=['01-01-2020', date, '1.0', '2', -3])

df[0] = pd.to_numeric(df[0], errors='ignore')

输出将是:

                     0
0           01-01-2020
1  2020-02-03 14:15:00
2                  1.0
3                    2
4                   -3

但是,在忽略错误时应该小心。如果可能的话,我建议将datetime列分开

相关问题 更多 >