【问题标题】:Adding new variable to dataframe向数据框添加新变量
【发布时间】:2022-10-05 11:50:38
【问题描述】:

我是 Python 新手。我正在尝试将随机生成的变量添加到已经存在的数据框中。我收到一条错误消息,但不知道为什么。

import pandas as pd
import numpy as np

data=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
df=pd.DataFrame(data, columns=['age'])


 # Add income:
income_5 = np.random.randint(low=0, high=4, size=(nrows(df,))+1                          
df['income5'] = income_5

我究竟做错了什么?

【问题讨论】:

    标签: python


    【解决方案1】:

    size=(nrows(df,) 更改为size=(len(df),) 后,它可以工作,所以:

    import pandas as pd
    import numpy as np
    
    data=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
    df=pd.DataFrame(data, columns=['age'])
    
    
     # Add income:
    income_5 = np.random.randint(low=0, high=4, size=(len(df),))+1                          
    df['income5'] = income_5
    

    【讨论】:

      【解决方案2】:

      正确的语法是 size=df.shape[0]size=len(df)

      income_5 = np.random.randint(low=0, high=4, size=df.shape[0])
      df['income5'] = income_5
      

      例子:

         age  income5
      0   10        0
      1   20        3
      2   30        0
      3   40        3
      4   50        0
      5   60        3
      6   70        0
      7   80        0
      8   90        2
      9  100        1
      

      注意。您不需要中间变量:

      df['income5'] = np.random.randint(low=0, high=4, size=df.shape[0])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-09
        • 2014-07-12
        • 2020-07-24
        • 2014-05-04
        • 2019-05-26
        • 2011-09-17
        • 2023-03-14
        相关资源
        最近更新 更多