【问题标题】:(Python/Pandas) Replaced strings with ints but df.describe() doesn't calculate those columns(Python/Pandas) 用整数替换字符串,但 df.describe() 不计算这些列
【发布时间】:2023-02-23 10:42:17
【问题描述】:

我正在开展一个项目,将心理电池测试与患者滥用处方药的可能性联系起来。我的原始数据集如下所示:

ID Age Sex Neuro Aggro Agree Impulse Cocaine Crack ... Legal MJ
1   25  M   9      4     1      5      CL1    CL2  ...  CL1  CL3
2   28  F   4      5     5      8      CL0    CL1  ...  CL3  CL3

我认为摆脱 CL 并获得数字会很好,所以我跑了

df=df.replace('CL0', 0, regex= True)

所以我的数据集看起来更像

ID Age Sex Neuro Aggro Agree Impulse Cocaine Crack ... Legal MJ
1   25  M   9      4     1      5      1       2  ...    1    3
2   28  F   4      5     5      8      0       1  ...    3    3

但是,当我运行 df.describe() 时,它只会显示我没有更改的列。我检查了更改后的列中的字符串,但没有。每个编辑列的值都是整数。然后我按照 Pandas df.describe doesn't work after adding new column 尝试了 df.describe(include = 'all'),编辑列的值是计数、唯一、顶部和频率,但是所有的数学描述符都是空的,比如平均值,标准差等

我错过了什么?如何用 df.describe() 能够对其执行必要数学运算的整数替换上列中的值?

提前致谢。

【问题讨论】:

  • 所以我才意识到,当我运行 df.info() 时,这些列仍然表示为对象。所以我想我需要让列以整数形式运行。

标签: python pandas replace integer describe


【解决方案1】:

Pandas: convert dtype 'object' to int找到了答案

Nii Nii Joshua 的帖子帮助最大:

df['col_name'] = pd.to_numeric(df['col_name'])

这是一个更好的选择

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2016-08-04
    • 1970-01-01
    • 2018-03-26
    • 2013-06-11
    • 1970-01-01
    • 2017-08-06
    • 2020-03-23
    • 2016-07-12
    相关资源
    最近更新 更多