将 Pandas Dataframe 转换为 numpy 数组

Posted

技术标签:

【中文标题】将 Pandas Dataframe 转换为 numpy 数组【英文标题】:Converting Pandas Dataframe to numpy array [duplicate] 【发布时间】: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]=20np_arr[1]=30np_arr[2]=28等等。

如何做到这一点?

【问题讨论】:

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

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

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

【讨论】:

以上是关于将 Pandas Dataframe 转换为 numpy 数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe

使用 pandas_udf 将 Spark Structured DataFrame 转换为 Pandas

将 pandas.core.groupby.SeriesGroupBy 转换为 DataFrame

python 将Numpy数组转换为Pandas Dataframe

如何将 scala spark.sql.dataFrame 转换为 Pandas 数据框

如何将可变长度列表的 Pandas DataFrame 列(或系列)转换为固定宽度的 DataFrame [重复]