利用NumPy数组在Pandas DataFrame中进行向量化查找
本文介绍了如何使用NumPy数组高效地在Pandas DataFrame中进行向量化查找,避免使用循环,从而显著提升数据处理速度。通过DataFrame.loc方法结合Series.to_list或Series.to_numpy,可以轻松实现基于索引的批量数据检索,并将其转换为列表或NumPy数组,满足不同场景的需求。
在数据分析和处理过程中,经常需要在Pandas DataFrame中根据一组索引查找对应的值。如果使用传统的循环方式,效率会比较低。本文将介绍如何利用NumPy数组和Pandas的向量化操作,高效地完成这个任务。
使用 DataFrame.loc 进行向量化查找
Pandas 提供了 DataFrame.loc 方法,它允许我们使用标签或布尔数组来选择数据。结合NumPy数组,我们可以一次性查找多个索引对应的值,而无需使用循环。
以下是一个示例:
import pandas as pd import numpy as np # 创建示例 DataFrame data = {'HHt': [1, 2, 3, 4, 5, 6, 7, 8]} df = pd.DataFrame(data, index=range(2643, 2651)) # 定义 NumPy 数组,包含需要查找的索引 ex_arr = np.array([2643, 2644, 2647]) # 使用 DataFrame.loc 进行向量化查找,并转换为列表 result_list = df.loc[ex_arr, 'HHt'].to_list() print(result_list) # 使用 DataFrame.loc 进行向量化查找,并转换为 NumPy 数组 result_array = df.loc[ex_arr, 'HHt'].to_numpy() print(result_array)
登录后复制
文章作者:磁力搜索
文章标题:利用NumPy数组在Pandas DataFrame中进行向量化查找
文章链接:https://www.onehaoka.com/6045.html
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自磁力搜索 !
文章标题:利用NumPy数组在Pandas DataFrame中进行向量化查找
文章链接:https://www.onehaoka.com/6045.html
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自磁力搜索 !
还没收到回复