如何向Series中添加带指定索引的数值?
给带日期索引的Pandas Series添加指定索引与值的方法
下面是几种实用的操作方式,能同步更新索引和对应数值:
方法1:loc直接赋值(单值添加首选)
直接通过索引定位赋值,Pandas会自动将新索引和值追加到Series中:
import pandas as pd # 构造原Series original_series = pd.Series([1, 7, 3], index=['2022-01-01', '2022-01-02', '2022-01-03']) # 添加指定索引与值 original_series.loc['2022-01-04'] = 10
执行后就能得到你想要的结果,这种方式直接修改原Series,操作简单高效。
方法2:pd.concat拼接(适合批量添加或保留原数据)
如果需要添加多个值,或者不想修改原Series,用拼接的方式更稳妥:
import pandas as pd original_series = pd.Series([1, 7, 3], index=['2022-01-01', '2022-01-02', '2022-01-03']) # 创建包含新值的小Series new_entry = pd.Series([10], index=['2022-01-04']) # 拼接得到新的Series updated_series = pd.concat([original_series, new_entry])
这种方法返回一个新的Series,原数据不会被改动,适合需要保留原始数据的场景。
注意点
- 若你的索引是
datetime类型而非字符串,操作逻辑完全一致,直接传入日期字符串或datetime对象即可。 - 旧版Pandas的
append方法已被弃用,不建议再使用,优先选择上述两种方式。
内容的提问来源于stack exchange,提问作者roudan
相关产品推荐
相关产品推荐

