python pandas 选择头部和尾部

新手上路,请多包涵

对于 Pandas 中的 DataFrame,如何同时选择前 5 个值和后 5 个值?

例如

In [11]: df
Out[11]:
        A  B  C
2012-11-29  0  0  0
2012-11-30  1  1  1
2012-12-01  2  2  2
2012-12-02  3  3  3
2012-12-03  4  4  4
2012-12-04  5  5  5
2012-12-05  6  6  6
2012-12-06  7  7  7
2012-12-07  8  8  8
2012-12-08  9  9  9

如何显示前两行和后两行?

原文由 fu xue 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 523
2 个回答

您可以将 ilocnumpy.r_ 一起使用:

 print (np.r_[0:2, -2:0])
[ 0  1 -2 -1]

df = df.iloc[np.r_[0:2, -2:0]]
print (df)
            A  B  C
2012-11-29  0  0  0
2012-11-30  1  1  1
2012-12-07  8  8  8
2012-12-08  9  9  9


 df = df.iloc[np.r_[0:4, -4:0]]
print (df)
            A  B  C
2012-11-29  0  0  0
2012-11-30  1  1  1
2012-12-01  2  2  2
2012-12-02  3  3  3
2012-12-05  6  6  6
2012-12-06  7  7  7
2012-12-07  8  8  8
2012-12-08  9  9  9

原文由 jezrael 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 df.head(5)df.tail(5) 获得前五个和后五个。您可以选择创建新的数据框和 append() 头和尾:

 new_df = df.tail(5)
new_df = new_df.append(df.head(5))

原文由 Linas Fx 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏