【发布时间】:2021-08-12 09:11:43
【问题描述】:
我知道使用 numpy 数组可以比 pandas 更快。
我想知道是否有等效的方法(并且更快)在 numpy 数组上执行 pandas.replace。
在下面的示例中,我创建了一个数据框和一个字典。字典包含列的名称及其对应的映射。我想知道是否有任何函数可以让我将字典提供给 numpy 数组以进行映射并产生更快的处理时间?
import pandas as pd
import numpy as np
# Dataframe
d = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data=d)
# dictionary I want to map
d_mapping = {'col1' : {1:2 , 2:1} , 'col2' : {4:1}}
# result using pandas replace
print(df.replace(d_mapping))
# Instead of a pandas dataframe, I want to perform the same operation on a numpy array
df_np = df.to_records(index=False)
【问题讨论】:
-
related。我的直觉是用 numpy 打败 pandas 会很困难。
-
@AnuragDabas 谢谢!我确实看过那个场景,那个场景将相同的字典应用于整个矩阵。对于我来说,我想为不同的列使用不同的字典
标签: pandas numpy replace mapping