【问题标题】:How to Change String Data in Dataframe to Number?如何将数据框中的字符串数据更改为数字?
【发布时间】:2020-05-18 13:12:40
【问题描述】:

我有一个 10,000 个数据集。这些数据来自 UCI 机器学习资料库人口普查收入。

不管怎样,重点是我想把字符串数据改成数据。我想运行一个朴素贝叶斯分类,但我需要使用数字。

基本上:

State-gov = 1
Self-emp-not-inc = 2
Private = 3

数据框:

          age          workclass   fnlwgt  ...  hours-per-week   native-country  income
    0      39          State-gov    77516  ...              40    United-States   <=50K
    1      50   Self-emp-not-inc    83311  ...              13    United-States   <=50K
    2      38            Private   215646  ...              40    United-States   <=50K
    3      53            Private   234721  ...              40    United-States   <=50K
    4      28            Private   338409  ...              40             Cuba   <=50K

注意:这些只是 10,000 个数据中的 5 个。

【问题讨论】:

标签: python python-3.x dataframe machine-learning


【解决方案1】:

df['DataFrame Column'] = pd.to_numeric(df['DataFrame Column'])

【讨论】:

    【解决方案2】:

    大多数数据科学方法是使用 pandas 的dtype="category"

    df["workclass"] = df["workclass"].astype('category').cat.codes
    

    【讨论】:

      【解决方案3】:

      如果你能找到你想要的东西,告诉我here

      (1) astype(int) 方法:

      df['DataFrame Column'] = df['DataFrame Column'].astype(int)
      

      (2) to_numeric方法:

      df['DataFrame Column'] = pd.to_numeric(df['DataFrame Column'])
      

      例子:

      import pandas as pd
      
      Data = {'Product': ['AAA','BBB'],
                'Price': ['210','250']}
      
      df = pd.DataFrame(Data)
      print (df)
      print (df.dtypes)
      

      或者您是否需要将这些字符串替换为Dataframe.replace

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 1970-01-01
        • 2022-01-15
        • 1970-01-01
        • 2021-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-17
        相关资源
        最近更新 更多