首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python将列值/索引向下拉1

Python将列值/索引向下拉1
EN

Stack Overflow用户
提问于 2015-06-06 09:58:57
回答 1查看 190关注 0票数 1

我使用的是熊猫DataFrame,我想把一个列值/索引向下拉一个。因此,列表Dataframe的长度将减少一个。就像我的例子中的图片:

新的DataFrame应该是id 2-5,但当然在操作后再索引到1-4.不仅仅是nameplace行。

我怎样才能这样快速地操作DataFrame呢?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-06 10:29:23

您可以shift名称列,然后使用iloc获取一个切片。

代码语言:javascript
复制
In [55]:   
df = pd.DataFrame({'id':np.arange(1,6), 'name':['john', 'bla', 'tim','walter','john'], 'place':['new york','miami','paris','rome','sydney']})
df

Out[55]:

   id    name     place
0   1    john  new york
1   2     bla     miami
2   3     tim     paris
3   4  walter      rome
4   5    john    sydney

In [56]:    
df['name'] = df['name'].shift(-1)
df = df.iloc[:-1]
df

Out[56]:

   id    name     place
0   1     bla  new york
1   2     tim     miami
2   3  walter     paris
3   4    john      rome

如果您的“id”列是您的索引,那么上面的内容仍然有效:

代码语言:javascript
复制
In [62]:
df = pd.DataFrame({'name':['john', 'bla', 'tim','walter','john'], 'place':['new york','miami','paris','rome','sydney']},index=np.arange(1,6))    
df.index.name = 'id'
df

Out[62]:

      name     place
id                  
1     john  new york
2      bla     miami
3      tim     paris
4   walter      rome
5     john    sydney

In [63]:   
df['name'] = df['name'].shift(-1)
df = df.iloc[:-1]
df

Out[63]:

      name     place
id                  
1      bla  new york
2      tim     miami
3   walter     paris
4     john      rome
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30681446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档