将Pandas中的单行输出转换为数组

10

我想要能够提取任意一行,比如第4行,并且获得一个数组,以便我可以将其发送到另一个函数中。

最简单的方法是什么?

2个回答

21

由于Pandas数据内部存储为Numpy数组,您可以直接提取Numpy表示。

v0.24+

使用pd.Series.to_numpy方法:

df.iloc[3].to_numpy()  # output 4th row as Numpy array

v0.24 之前版本

请使用 pd.Series.values 属性:

df.iloc[3].values  # output 4th row as Numpy array

请记住,如果您的数据帧包含多种类型,则行向Numpy数组的dtype可能会变为object。这将导致后续操作效率低下。


1
# Dummy DataFrame
df = pd.DataFrame({'col1': [1,2,3], 'col2': [4,5,6]})
# Extract second row (index: 1)
df.iloc[1].values

1
as_matrix自版本0.23.0起已被弃用。通常建议使用下面接受答案中所示的“.values”。 - GoPackGo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接