簡體   English   中英

通過索引標准對Pandas數據框切片進行索引

[英]Pandas dataframe slice indexing by index criterias

我經常需要以比Pandas DataFrame中的條件高/低的標准在索引中進行一些搜索。 我已經找到了一種方法,但是感覺有點麻煩,或者有點不明智。 這是我目前的方法:

from numpy import linspace
import pandas as pd

df = pd.DataFrame(linspace(1,5,5),index=linspace(0.1,0.5,5))

df

     0
0.1  1
0.2  2
0.3  3
0.4  4
0.5  5

df[(df.index>0.3) * (df.index <0.5)]

     0
0.3  3
0.4  4

它確實給了我我所不想要的東西,但是如果有的話,請提出一種更好的方法。

我會這樣做。 使用類似浮點的索引進行操作有點不尋常,並且可能會產生一些意想不到的結果。 在0.13(即將發布)中,它具有更多的支持,但運行方式仍與“常規”索引不同。 這里

In [4]: df = pd.DataFrame({ 'A' : np.linspace(1,5,5), 'B' : np.linspace(0.1,0.5,5) })

In [5]: df
Out[5]: 
   A    B
0  1  0.1
1  2  0.2
2  3  0.3
3  4  0.4
4  5  0.5

In [6]: df.loc[(df.B>0.3)&(df.B<0.5)]
Out[6]: 
   A    B
2  3  0.3
3  4  0.4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM