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 许可协议

阅读 531
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 翻译
子站问答
访问
宣传栏