当前位置: 首页 > 知识库问答 >
问题:

将数据帧转换为numpy数组-首选哪种方法?[副本]

阎劲
2023-03-14

我需要将一个大数据帧转换成一个numpy数组。仅保留数值和类型。我知道有很好的证明方法可以做到这一点。

那么,你更喜欢哪一个呢?

df.values
df._as_matrix()
pd.to_numeric(df)
... others ...

决定因素:

>

在nan、np上安全运行。NaN和其他可能的意外值

数值稳定

共有2个答案

白晋鹏
2023-03-14

在引擎盖下,一个熊猫。数据帧只不过是一个小数值。数组。最简单也是最快的方法是使用熊猫。数据帧。值

DataFrame。值

NDFrame的Numpy表示

笔记

数据类型将是较低的公分母数据类型(隐式向上转换);也就是说,如果数据类型(即使是数字类型)是混合的,那么将选择一个容纳所有数据类型的数据类型。如果不处理块,请小心使用。

例如。如果dtype是flat16和flat32,dtype将被上转换为flat32。如果dtype是int32和uint8,dtype将被上转换为int32。根据numpy.find_common_type约定,混合int64和uint64将导致flt64 dtype。

高功
2023-03-14

你提到的功能有不同的用途。

>

pd。数据帧。到_numpy()(v0.24)或pd。数据帧。值:使用此项检索数据帧的数组表示形式。

pd。数据帧。as_matrix:不要使用此选项。它仅用于向后兼容。

 类似资料:
  • 我有这个数据框 我想转换这种形式的Numpy数组: 我正在使用转换为_矩阵函数,并在它重塑(1,4)后使用,但它不起作用!!它给我的格式是:有什么建议吗?我需要把它转换成那种格式,这样我就可以应用“精确回忆曲线”功能。

  • 如何将此dict转换为数据帧

  • 全部。我有一个熊猫数据帧是这样的结构:熊猫数据帧 我想隔离行的子集,特别是那些属于坐标范围的行,我已经存储在列表中。这就是我目前正在做的工作: 在第x=int(idx['pos'])行中,我收到错误,“'int'对象不可下标。”将数据帧列转换为整数的最简单方法是什么?对于如何改进此代码的任何其他反馈,我们将不胜感激。

  • 我从excel中读取了如下数据: 我想把列'10V'和'11V'成两个数组。以便用滤波系数处理数据。但是我不知道如何将列复制到数组,或者如何直接访问/操作DataFrame中的元素? 谁能给我一个提示吗?非常感谢。

  • 如何将pandas数据帧(21 x 31)转换为numpy数组? 例如: 数组_1(n_1,n_2,n_3,…,n31) 数组_2(n_1,n_2,n_3,…,n31) 数组21(n_1,n_2,n_3,…,n31) 我尝试了以下代码段: .. 并得到如下结果: 问题是第二个方括号太多了。我该如何解决这个问题?

  • 问题内容: 我正在尝试将代表黑白图像的2D Numpy数组转换为3通道OpenCV数组(即RGB图像)。 基于代码示例和文档,我正尝试通过Python执行此操作,例如: 但是,对CvtColor()的调用将引发以下cpp级异常: 我究竟做错了什么? 问题答案: 您的代码可以固定如下: 简短说明: 数据类型不受OpenCV的支持(它支持,,,,,,) 无法处理numpy数组,因此必须将两个参数都转换