Pandas数据格式修改

利用pandas导入原始数据时,数据格式为object,需要进行转换:
TIMESTAMP列 -->> 日期格式
其余列 -->> 数字格式

原始数据:

日期:

利用pandas.datetime进行转化
同时,可以用pandas.to_timedelta转化成时间戳格式

data_original['TIMESTAMP'] = pd.to_datetime(data_original['TIMESTAMP'])

数字

以往使用astype强制转换:
data_original['column_2'] = data_original['column_2'].astype(float)

但此时会报错,astype无法对诸如“/,*,&”的特殊符号进行编辑。

改用to_numeric函数:

pandas.to_numeric(arg, errors, downcast)

其中,errors有三种选项(默认为raise):
ignore: 无效解析会返回原始值
raise: 无效解析会报错
coerce: 无效解析会返回NaN

downcast有四种选项(默认为None)
integer/singed: signed int dtype
unsigned: unsigned int dtype
float: float dtype

data_original['column_2'] = pd.to_numeric(data_original['column_2'], errors = 'coerce')

此时就能对其中一列数据进行正常修改。
对日期以外的所有数据进行修改,利用apply:

data_original[data_original.columns[1:]] = data_original[data_original.columns[1:]].apply(pd.to_numeric, errors = 'coerce')

得到完整的修改数据


image.png
也可以利用infer_objects函数让系统自动推断格式
data_original = data_original.infer_objects()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容