Python 搜索pandas.readfwf获得的排序数据

Python 搜索pandas.readfwf获得的排序数据,python,pandas,search,Python,Pandas,Search,我有一个使用pandas.read_fwf获得的内存数据表,数据按升序排列(我指的是我感兴趣的虚拟列,用于搜索)。数据不小,大约有300000行 考虑到这些数据是经过排序的,我想问一下搜索这些数据的最有效方法。我感兴趣的是搜索两个值之间的帧,请记住,我基本上是在列(行)的值中搜索 我调查了对分和熊猫系列 但是我想我可能需要应用一些数据转置来使用它们,并且认为可能存在一种更简单的方法,所以我问 谢谢你试过戴口罩吗?即使它没有考虑排序,我觉得性能会足够快 df = df[(df[col] >

我有一个使用pandas.read_fwf获得的内存数据表,数据按升序排列(我指的是我感兴趣的虚拟列,用于搜索)。数据不小,大约有300000行

考虑到这些数据是经过排序的,我想问一下搜索这些数据的最有效方法。我感兴趣的是搜索两个值之间的帧,请记住,我基本上是在列(行)的值中搜索

我调查了对分和熊猫系列 但是我想我可能需要应用一些数据转置来使用它们,并且认为可能存在一种更简单的方法,所以我问


谢谢你试过戴口罩吗?即使它没有考虑排序,我觉得性能会足够快

df = df[(df[col] > val1) & (df[col] < val2)]

你试过戴口罩吗?即使它没有考虑排序,我觉得性能会足够快

df = df[(df[col] > val1) & (df[col] < val2)]

如果您需要多次搜索数据,您将受益于某种索引,否则您可以查看排序容器库,或者可能使用二进制搜索,正如@kezzos所说的那样-使用您的“搜索”列作为索引:
df.set_index('Virtual',inplace=True)
或在读取FWF文件时设置它:
df=pd.read_-FWF(…,index_-col='Virtual')
如果需要多次搜索数据,您将从某种索引中获益,否则您可以查看排序容器库,或者可能像@kezzos所说的那样进行二进制搜索-使用“搜索”列作为索引:
df.set_index('Virtual',inplace=True)
或在读取FWF文件时设置:
df=pd.read_FWF(…,index_col='Virtual')
如果需要多次执行此操作,则这些方法的性能将不好如果需要多次执行此操作,则这些方法的性能将不好