如何从数据框的头部和尾部获取pandas.Dataframe中的k
(让我们说100
)条目?
我建议2个单独的步骤和合并操作,但这似乎很乏味。有没有更好的办法?
我尝试使用df.iloc[:100,:-100]
,但这只会返回前100条记录。
答案 0 :(得分:2)
您可以将iloc
与numpy.r_
一起用于concnecate指数:
select c.Titel
from Person p inner join Creation c on p.id=c.PersonId
where p.Descriminator='Komponist'
<强>示例强>:
N = 3
df = df.iloc[np.r_[0:N, -N:0]]
答案 1 :(得分:2)
您可以将iloc
与range
N = 3
df.iloc[range(0, N) + range(-N, 0)]
详细
In [200]: df = pd.DataFrame(np.random.randn(10, 2))
In [201]: df
Out[201]:
0 1
0 -1.034025 0.222752
1 0.102861 -0.827097
2 1.218721 0.397002
3 0.378780 1.903993
4 0.931718 -1.086045
5 1.608149 -0.233175
6 -1.399926 -2.218517
7 -0.411787 0.309623
8 -0.493428 -1.834097
9 -0.797647 -0.085315
In [202]: N = 3
In [203]: df.iloc[range(0, N) + range(-N, 0)]
Out[203]:
0 1
0 -1.034025 0.222752
1 0.102861 -0.827097
2 1.218721 0.397002
7 -0.411787 0.309623
8 -0.493428 -1.834097
9 -0.797647 -0.085315