【问题标题】:Convert continuous numerical data to discrete numerical data in Pandas在 Pandas 中将连续数值数据转换为离散数值数据
【发布时间】:2021-02-15 06:11:39
【问题描述】:

我有一个 pandas 数据框 df,其中有一列包含连续的数值数据。

   A    
0   1.5   
1   15.0   
2   12.8   
3   23.2  
4   9.6

我想根据以下规则将连续变量替换为数值:

0-10=10
10-20=50
20-100=80

最终得到的dataframe应该是这样的:

    A    
0   10  
1   50   
2   50  
3   80  
4   10

我曾尝试使用pandas.cut(df, bins=[0,10,20,100], labels=[10,50,80]),但它返回一个分类列。我需要输出列是数字。

【问题讨论】:

  • 你想要这个包容吗?还是独家?即,10 应该是什么,1050

标签: python pandas


【解决方案1】:

to_numeric 添加到您的代码中

pd.to_numeric(pd.cut(df['A'], bins=[0,10,20,100], labels=[10,50,80]))
Out[54]: 
0    10
1    50
2    50
3    80
4    10
Name: A, dtype: int64

【讨论】:

    猜你喜欢
    • 2011-10-24
    • 2020-11-05
    • 1970-01-01
    • 2021-08-04
    • 2021-06-29
    • 2016-12-02
    • 2018-03-21
    • 2022-11-02
    • 1970-01-01
    相关资源
    最近更新 更多