如何将一个Series的值作为另一个Series的索引,指定名称并按索引对齐
当然可以实现!
这在pandas里是非常容易做到的操作,我给你用示例代码一步步说明:
步骤1:先准备示例数据
假设我们有两个Series,一个是待修改索引的目标Series,另一个是要作为新索引的Series:
import pandas as pd # 目标Series(我们要修改它的索引) s_data = pd.Series([12, 24, 36, 48]) # 用来作为新索引的Series s_index_values = pd.Series([6.0, 7.5, 8.2, 9.1])
步骤2:替换索引并设置索引名称
有两种简洁的方式可以完成你的需求:
方式一:直接修改索引属性
先把目标Series的索引替换成第二个Series的数值,再给索引指定名称:
# 将s_index_values的值设为s_data的索引 s_data.index = s_index_values # 给索引命名为"average" s_data.index.name = "average"
方式二:使用set_axis链式操作
如果你喜欢更简洁的链式写法,可以用set_axis一步完成替换+命名:
s_data = s_data.set_axis(s_index_values, axis=0, name="average")
最终效果
执行完上面任意一种操作后,打印s_data会得到你想要的结果:
average 6.0 12 7.5 24 8.2 36 9.1 48 dtype: int64
⚠️ 注意:要确保两个Series的长度完全一致,否则会抛出索引不匹配的错误哦!
内容的提问来源于stack exchange,提问作者felocru
相关产品推荐
相关产品推荐

