如何在Pandas DataFrame中给索引加2以匹配CSV文件索引
问题:如何将Pandas DataFrame的索引每个值加2?
我需要将Pandas DataFrame的索引加2(index+=2),使其与某CSV文件的索引匹配。
当前DataFrame如下:
| Counts | Counts | |
|---|---|---|
| 7 | 10951.0 | 870.0 |
| 8 | 8653.0 | 1772.0 |
| 19 | 28598.0 | 37608.0 |
| 20 | 115266.0 | 123491.0 |
| 21 | 73097.0 | 145261.0 |
期望结果如下:
| Counts | Counts | |
|---|---|---|
| 9 | 10951.0 | 870.0 |
| 10 | 8653.0 | 1772.0 |
| 21 | 28598.0 | 37608.0 |
| 22 | 115266.0 | 123491.0 |
| 23 | 73097.0 | 145261.0 |
我尝试过以下代码:
shifted_df.index = pd.Index(range(2, len(shifted_df) + 2))
该代码虽能修改索引,但仅用从2开始的序列覆盖原有索引,无法实现需求,恳请帮忙解决。
解决方案
你之前的代码是生成了一个从2开始的连续序列,这和“给原有索引每个值加2”的需求不符。直接对索引执行加法操作即可实现需求:
# 直接对索引每个值加2 shifted_df.index += 2
或者等价写法:
shifted_df.index = shifted_df.index + 2
执行后,原有索引的每个值都会被加上2,正好得到你期望的结果:
- 原索引7 → 9,8→10,19→21,以此类推,完全匹配目标索引。
内容的提问来源于stack exchange,提问作者philiVanilli25
相关产品推荐
相关产品推荐

