【问题标题】:Converting Pandas Dataframe to numpy array [duplicate]将 Pandas Dataframe 转换为 numpy 数组
【发布时间】:2019-08-04 12:50:33
【问题描述】:

以下是 Pandas 数据框df

index_column      value_column
 0                   20
 2                   28
 1                   30

需要转换成numpy数组,其中index_column成为numpy数组的索引,value_column成为对应的值。

即np_arr[0]=20、np_arr[1]=30、np_arr[2]=28等等。

如何做到这一点?

【问题讨论】:

  • 当index_column不是从0开始的RangeIndex时会发生什么? numpy 数组索引是基于 0 的,所以你需要它来处理任意索引排列吗?
  • index_column 将有 0 到 n 行,其中 n 是数据帧中的行数。但它们可能不是按升序排列的。
  • 1) 以前有人问过这个问题,2) 如果您使用的是 0.24,请不要遵循以下任何答案。

标签: python pandas numpy


【解决方案1】:

Pandas 内部使用np.arrays。 values 属性就是你所需要的:

df.value_column.values

是你想要的np.array。

【讨论】:

    【解决方案2】:
    np_arr = df.value_column.values
    

    【讨论】:

    • @amandasmith:你提到的方法很好。
    【解决方案3】:

    np_arr = df.value_column.values

    如果您的列名包含空格等特殊字符,请使用以下内容:

    np_arr = df['temperature [Celsius]'].values

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 2018-12-27
      • 2020-07-12
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多