Python 我可以在某个列值上使用数据框读取一系列行吗?

Python 我可以在某个列值上使用数据框读取一系列行吗?,python,pandas,dataframe,Python,Pandas,Dataframe,这是我的数据 prakash 101 Ram 107 akash 103 sakshi 115 vidushi 110 aman 106 lakshay 99 我想选择从akash到vidushi的所有行,或者从Ram到aman的所有行。在实际场景中,将有数千行和多列,我将得到多个查询,以根据某些列值选择一系列行。我如何才能做到这一点?您可以使用范围来选择行 print x[2:4] #output akash 103 sakshi 115 vid

这是我的数据

prakash  101
Ram      107
akash    103
sakshi   115
vidushi  110
aman     106
lakshay  99

我想选择从akash到vidushi的所有行,或者从Ram到aman的所有行。在实际场景中,将有数千行和多列,我将得到多个查询,以根据某些列值选择一系列行。我如何才能做到这一点?

您可以使用范围来选择行

print x[2:4]

#output
akash    103
sakshi   115
vidushi  110
aman     106

如果要根据特定列填充值,可以使用
np。其中

以下是正确的方法

start = 'akash'
end = 'vidushi'

l = list(df['names']) #ordered list of names
subl = l[l.index(start):l.index(end)+1] #list of names between the start and end

df[df['names'].isin(subl)] #filter dataset for list of names
创建一些变量(您可以调整),然后使用
.loc
.index[0]
(注意:
df[0]
可以替换为标题的名称,因此如果标题名为
Names
,则将
df[0]
的所有实例更改为
df['Names'

var1 = 'Ram'
var2 = 'aman'
a = df.loc[df[0]==var1].index[0]
b = df.loc[df[0]==var2].index[0]
c = df.iloc[a:b+1,:]
c
输出:

    0       1
1   Ram     107
2   akash   103
3   sakshi  115
4   vidushi 110
5   aman    106
      name  val
0    akash  103
1   sakshi  115
2  vidushi  110

尝试
设置索引
然后使用
loc

df = pd.DataFrame({"name":["prakash","Ram","akash","sakshi","vidushi","aman","lakshay"],"val":[101,107,103,115,110,106,99]})
(df.set_index(['name']).loc["akash":"vidushi"]).reset_index()
输出:

    0       1
1   Ram     107
2   akash   103
3   sakshi  115
4   vidushi 110
5   aman    106
      name  val
0    akash  103
1   sakshi  115
2  vidushi  110