添加起来更容易
[0]-使用一个元素选择list的第一个值:
dfb = df[df['A']==5].index.values.astype(int)[0]dfbb = df[df['A']==8].index.values.astype(int)[0]
dfb = int(df[df['A']==5].index[0])dfbb = int(df[df['A']==8].index[0])
但是,如果某些值不匹配,则会出现错误,因为第一个值不存在。
解决方案是使用
next与
iter用于获取缺省parameetr如果没有匹配的值:
dfb = next(iter(df[df['A']==5].index), 'no match')print (dfb)4dfb = next(iter(df[df['A']==50].index), 'no match')print (dfb)no match
然后似乎需要减去
1:
print (df.loc[dfb:dfbb-1,'B'])4 0.8945255 0.9781746 0.859449Name: B, dtype: float64
boolean indexing或的另一种解决方案
query:
print (df[(df['A'] >= 5) & (df['A'] < 8)]) A B4 5 0.8945255 6 0.9781746 7 0.859449print (df.loc[(df['A'] >= 5) & (df['A'] < 8), 'B'])4 0.8945255 0.9781746 0.859449Name: B, dtype: float64
print (df.query('A >= 5 and A < 8')) A B4 5 0.8945255 6 0.9781746 7 0.859449


