【问题标题】:Create an Array from a Dataframe Row从数据框行创建数组
【发布时间】:2021-09-04 23:05:09
【问题描述】:

我需要从一个数据帧中创建 2 个数组。

第一个只是列标题的数组:np.array(df.columns) 第二个数组将是这些列中的所有值(数据框只有 1 行)。

但是我得到了这个输出:

array([array(66.84119159), array(67.38531331), array(67.74187959),
       array(68.00048307), array(68.22388778), array(68.39191308),
       array(68.51329445), array(68.62896006), array(68.716791),
       array(68.77379008), array(68.81400731), array(68.83634255),
       array(68.84203308), array(68.82682576), array(68.79121712),
       array(68.74733508), array(68.68588568), array(68.58466205),
       array(68.46882076), array(68.31954362), array(68.16374208),
       array(67.97388601), array(67.79819623), array(67.65393439),
       array(67.50348453), array(67.34438603), array(67.19034766),
       array(67.11430317), array(66.63700965), array(65.39818456),
       array(63.90516399)], dtype=object)

有没有办法创建一个只有一个“数组”而不是打包数组的数组?

谢谢

【问题讨论】:

标签: python arrays pandas dataframe numpy


【解决方案1】:

您可以使用数据框值:

import pandas as pd
df = pd.DataFrame({'test': range(10)}).T

df.values

Out[13]: array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], dtype=int64)

【讨论】:

  • 感谢您的回复。我仍然得到这个带有 1 个数字 = 1 个数组的打包版本
  • @Ben 是的,但你可以这样做:df.values[0] 有理由不这样做吗?
猜你喜欢
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 1970-01-01
  • 2017-10-10
  • 2019-05-26
  • 2016-02-18
  • 2018-11-04
相关资源
最近更新 更多