在 Pandas 中循环数据帧的最有效方法
在处理存储在数据帧中的复杂财务数据时,高效的迭代技术变得至关重要。使用 enumerate(df.values) 的传统方法可能效率低下。幸运的是,pandas 引入了更优化的解决方案。
使用 Pandas iterrows 函数
最近的 pandas 版本提供了 iterrows 函数来迭代行:
for index, row in df.iterrows(): # Perform logic here
该方法同时提供索引和行数据,保证效率的同时允许自定义
替代方案:Pandas itertuples 函数
更快的选择是使用 itertuples 函数:
for idx, row_obj in df.itertuples(index=True): # Perform logic here
这种方法利用 numpy 函数直接操作数据,绕过行迭代,这可以显着增强
使用 Numpy 操作
根据 unutbu 的建议,直接使用 numpy 函数可以提供最快的代码。您可以在整个数据帧上应用操作,而不是迭代行:
df['new_column'] = np.where(df['open'] > 10, 'high', 'low')
这种方法消除了不必要的迭代,并利用 numpy 的矢量化运算来实现卓越的效率。
以上是如何有效地循环 Pandas Dataframes?的详细内容。更多信息请关注PHP中文网其他相关文章!