Pandas 进行字典查找的惯用方法

Pandas idiomatic way to do a dictionary lookup

我有一个 pandas 整数系列(它们被限制为一些较小的有限子集)和一个包含这些可能的整数到双精度的字典。我想创建一个看起来像 dictionary[series] 的新系列。 pandas 惯用的方法是什么?

您可以使用 map 来执行此操作。

例如,这是一个将几个整数 n 映射到 n + 0.5 的字典,以及一系列整数:

>>> d = {1: 1.5, 2: 2.5, 3: 3.5, 4: 4.5, 5: 5.5}
>>> s = pd.Series([1, 2, 3, 4, 5]
>>> s
0    1
1    2
2    3
3    4
4    5
dtype: int64

要创建新系列,您可以这样写:

>>> s.map(d)
0    1.5
1    2.5
2    3.5
3    4.5
4    5.5
dtype: float64

除了字典,map 还可以接受另一个系列作为参数或函数。