将 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]=20
、np_arr[1]=30
、np_arr[2]=28
等等。
如何做到这一点?
【问题讨论】:
当index_column
不是从0开始的RangeIndex时会发生什么? numpy
数组索引是基于 0 的,所以你需要它来处理任意索引排列吗?
index_column 将有 0 到 n 行,其中 n 是数据帧中的行数。但它们可能不是按升序排列的。
1) 以前有人问过这个问题,2) 如果您使用的是 0.24,请不要遵循以下任何答案。
【参考方案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
【讨论】:
以上是关于将 Pandas Dataframe 转换为 numpy 数组的主要内容,如果未能解决你的问题,请参考以下文章
如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe
使用 pandas_udf 将 Spark Structured DataFrame 转换为 Pandas
将 pandas.core.groupby.SeriesGroupBy 转换为 DataFrame
python 将Numpy数组转换为Pandas Dataframe