【问题标题】:Convert pandas dataframe with missing values from object to int将具有缺失值的 pandas 数据框从对象转换为 int
【发布时间】:2022-11-25 02:45:30
【问题描述】:

我正在尝试将下面数据框中的值更改为整数,以便我可以将这些时间 hh/mm/ss 更改为基于小时的数值(例如,对于第二行,hrs_cor 将等于 5.5)。

         hrs  mins  secs
0         None  None
1         None  None
2      5    30    00
3      5    22    30
4      8    00    00
...   ..   ...   ...
1052      None  None
1053      None  None
1054      None  None
1055      None  None
1056      None  None

我正在运行的问题是将数据框转换为数值,我认为这是由于单元格为空造成的。到目前为止,我已经尝试了以下代码的变体:

MID_calc['hrs'] = MID_calc.to_numeric(MID_calc['hrs'], errors='coerce').astype('INT46')

并返回此错误:

AttributeError: 'DataFrame' object has no attribute 'to_numeric'

目前,所有值都是对象

hrs     object
mins    object
secs    object
dtype: object

我浏览了几篇文章,但似乎没有任何效果。任何帮助将不胜感激!

【问题讨论】:

    标签: pandas dtype


    【解决方案1】:

    你需要使用

    import pandas as pd
    
    MID_calc['hrs']  = pd.to_numeric(MID_calc['hrs'] , errors='coerce').astype('INT46')
    

    不要直接从网站上复制代码。了解它的作用。

    【讨论】:

    • 谢谢你纠正我的错别字。我尝试了几种不同的代码,这是我快速重新输入的一个例子。您的解决方案返回相同的错误。即使 pd 被重命名为正确的数据框。
    猜你喜欢
    • 2017-09-26
    • 2013-07-30
    • 2020-03-27
    • 2020-06-12
    • 1970-01-01
    • 2018-05-17
    • 2018-12-19
    • 2021-01-02
    相关资源
    最近更新 更多