2024-10-06 09:02:27 发布
网友
这是我的数据
prakash 101 Ram 107 akash 103 sakshi 115 vidushi 110 aman 106 lakshay 99
我想选择从akash到vidushi的所有行,或者从Ram到aman的所有行。在实际场景中,将有数千行和多列,我将得到多个查询,以根据某些列值选择一系列行。我该怎么做
这是做这件事的正确方法
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
2 akash 103 3 sakshi 115 4 vidushi 110
创建一些变量(可以调整),然后使用.loc和.index[0](注意:df[0]可以替换为头的名称,因此如果头名为Names,则将df[0]的所有实例更改为df['Names']:
.loc
.index[0]
df[0]
Names
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
尝试set_index,然后使用loc
set_index
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()
name val 0 akash 103 1 sakshi 115 2 vidushi 110
这是做这件事的正确方法
创建一些变量(可以调整),然后使用
.loc
和.index[0]
(注意:df[0]
可以替换为头的名称,因此如果头名为Names
,则将df[0]
的所有实例更改为df['Names']
:输出:
尝试
set_index
,然后使用loc
输出:
相关问题 更多 >
编程相关推荐