将 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(作为单行)