Python 是否将数据帧转换为numpy数组?

Python 是否将数据帧转换为numpy数组?,python,arrays,numpy,dataframe,Python,Arrays,Numpy,Dataframe,我有这个数据帧 Begin End Duration ID 42 40680 40846 167 18 我想将numpy数组转换为以下形式: array([40680 , 40860 ,167,18]) 我使用转换为_矩阵函数,之后使用 重塑(1,4),但它不起作用!!它给了我这种格式: [[40680 40846 167 18]有什么建议吗?我需要转换 将其设置为该格式,以便我可以应用“精确回忆曲线”功能。您有这样的功能: pd.DataFr

我有这个数据帧

     Begin    End    Duration  ID
42   40680    40846    167     18
我想将numpy数组转换为以下形式:

array([40680 , 40860 ,167,18])
我使用转换为_矩阵函数,之后使用 重塑(1,4),但它不起作用!!它给了我这种格式:
[[40680 40846 167 18]
有什么建议吗?我需要转换
将其设置为该格式,以便我可以应用“精确回忆曲线”功能。

您有这样的功能:

pd.DataFrame({'a':[1],'b':[2],'c':[3]}, index=[42])
Out[27]: 
    a  b  c
42  1  2  3
您希望获得一行作为NumPy数组:

df.loc[42].values
Out[30]: array([1, 2, 3])

尝试
array.ravel()
而不是
重塑
。因此,如果数据帧是
df
df.values.ravel()
或者简单地说:
np.ravel(df)
。很抱歉,即使这个解决方案不起作用,也可以给我一个这样的数组:[40680 40846 167 18]这不是您所期望的吗?不。我希望它是这样的:array([40680,40860,167,18])@jaouaemna,您似乎被
print(array)
命令的结果搞糊涂了,该命令默认情况下不显示comas-try@Divakar的解决方案:
np.ravel(df)
在iPython或Jupitersorry中!但它不起作用!这就是我得到的![40680 40846 167 18]并且我已经应用了y_true=eval_seg.loc[42]。值!我确信输入格式是数据帧,这是我打印(eval_seg)@jaouaemna的类型时得到的:对不起,我不知道你现在在说什么。也许如果你能在你的问题中添加更多的细节和完整的可执行代码……好吧,我有一个数据框作为输入!我想把它转换成numpy数组,就像我前面提到的格式一样。因为我想将该数组用作函数“precision\u recall\u curve”的输入,该函数计算两个数组之间的精度和召回率。因此,当我使用这个数组[40680 40846 167 18]时,函数get me as error:“ValueError:Data不是二进制的,pos_label没有指定”@jaouaemna:I明白了。这是一个不同的问题——你需要阅读上的文档,注意它需要“二进制”输入,而不是你正在使用的任何数字。哦,我明白了。我没注意!我将看看如何以不同的方式计算精度和召回率,或者我可以直接用python实现这个公式。