如何使用 Pandas 系列作为另一个系列的查找

用户1717828

对于两个系列:一个带有数字标识符,另一个是将这些标识符与名称相关联的查找,我如何加入它们?例子:

带有数字 ID 的系列

data_series = pd.Series(np.random.randint(0,100,5),
                        index = ["id_"+i for i in np.arange(5).astype('str')])
print(data_series)

id_0    38
id_1    35
id_2    36
id_3    32
id_4    94
dtype: int64

带有要查找的名称的系列:

name_lookup_series = pd.Series(['Google','YouTube','Facebook','Baidu','Wikipedia'],
                        index=["id_"+i for i in np.arange(5).astype('str')])
print(name_lookup_series)

id_0       Google
id_1      YouTube
id_2     Facebook
id_3        Baidu
id_4    Wikipedia
dtype: object

所需的数据帧

Google       38
YouTube      35
Facebook     36
Baidu        32
Wikipedia    94
dtype: int64

我可以通过破解 Pandas-fu 来做到这一点,但这join是一个看起来很普通的操作,我认为有一种更惯用的方法来做到这一点。我目前的方法:

data_series.index = data_series.index.map(lambda x: name_lookup_series.loc[x])

有没有另一种方法可以做到这一点,最好使用更简洁的代码并在一行中?

耶斯列

rename使用- 因为使用index

s = data_series.rename(name_lookup_series)
#it is same as
#s = data_series.rename(index=name_lookup_series)
print (s)
Google       29
YouTube      57
Facebook     48
Baidu        16
Wikipedia    14
dtype: int32

另一个解决方案 - 有点复杂 - 转换为Seriesand map

data_series.index = data_series.index.to_series().map(name_lookup_series)
print (data_series)
Google       29
YouTube      57
Facebook     48
Baidu        16
Wikipedia    14
dtype: int32

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于Pandas Groupby中的另一个系列获得最大值

Pandas - 如何删除基于另一个系列的重复项?

如何在另一个 Pandas TimeIndex 中将系列索引移动 1 行?

如何从 Pandas 系列中选择数据并获取数据类型而不是另一个对象?

如何将pandas DataFrame的第一列作为系列?

如何将 Pandas 数据框作为一个系列获取?

如何添加熊猫系列操作作为另一个函数的参数

在Pandas中用另一个不同长度的系列替换另一个系列的多索引

如何将一个系列的值合并到另一个系列

如何通过使用 Pandas 查找另一个 DataFrame 在 DataFrame 列中创建列表?

如何通过 Python 在 Pandas 中反转一个系列?

Pandas 根据同一数据帧中的另一个系列拆分一个系列

pandas 从另一个 DataFrame 获取值和位置并制作一个系列

python-3:如何创建一个新的pandas列作为另一列的两个连续行的减法?

使用pandas数据框中的值作为另一个的列名

对于每个唯一的 Pandas 系列值,计算另一个字段

如何找到一个熊猫系列中的值,而不是另一个?

如何显示一个系列而不是另一个的标记

匹配两个熊猫系列:如何从另一个系列的一个序列中查找字符串元素,然后创建一个新列

如何在Kohana中选择列作为“另一个名称”

从另一个给定的时间戳开始,在pandas系列中创建时间戳序列

根据另一个pandas系列选择不同行中的不同列

当我期望系列时,Pandas DataFrame列会显示另一个DataFrame

在Pandas中,如何使用一个表中的值作为索引从另一个表中提取数据?

使用Pandas将自定义系列作为新列插入DataFrame中

使用来自一个DataFrame的列作为MultiIndex进行另一个T检验

根据另一个系列的条件,使用字典替换系列对象中的项目

如何通过使用其第一列作为新的第一行从另一个矩阵创建一个新矩阵?

通过匹配来自另一个 Pandas 系列的多列索引来更新和求和 Pandas DataFrame