将 pandas 中的单行输出到数组

Posted

技术标签:

【中文标题】将 pandas 中的单行输出到数组【英文标题】:Output a single row in pandas to an array 【发布时间】:2018-07-31 12:03:18 【问题描述】:

我希望能够拉出任意行,例如第 4 行,并获取一个数组,以便我可以通过另一个函数发送它。

最简单的方法是什么?

【问题讨论】:

【参考方案1】:

由于 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。这会导致后续操作效率低下。

【讨论】:

【参考方案2】:
# Dummy DataFrame
df = pd.DataFrame('col1': [1,2,3], 'col2': [4,5,6])
# Extract second row (index: 1)
df.iloc[1].values

【讨论】:

as_matrix 自 0.23.0 版起已弃用。一般来说,建议在接受的答案中使用如下所示的“.values”。

以上是关于将 pandas 中的单行输出到数组的主要内容,如果未能解决你的问题,请参考以下文章

将 Numpy 数组按列转换为 Pandas DataFrame(作为单行)

Perl单行(Perl One-Liners)命令

Python Pandas 数据以日期格式输出到 excel 的问题 [重复]

Sass到CSS输出为单行[重复]

如何将我的节点 winston JSON 输出更改为单行

将字典列表解压缩到 Pandas 中的单独列中