我有以下示例df,我想选择特定列中一系列值之间的所有行:
0 1 2 3 4 5 index
0 -252.44 -393.07 886.72 -2.04 1.58 -2.41 0
1 -260.25 -415.53 881.35 -3.07 0.08 -1.66 1
2 -267.58 -412.60 893.07 -2.98 -1.15 -2.66 2
3 -279.30 -417.97 880.86 -1.15 -0.50 -1.37 3
4 -252.93 -395.51 883.30 -1.30 1.43 4.17 4
我想获取以下df(索引值1-3之间的所有行):
0 1 2 3 4 5 index
1 -260.25 -415.53 881.35 -3.07 0.08 -1.66 1
2 -267.58 -412.60 893.07 -2.98 -1.15 -2.66 2
3 -279.30 -417.97 880.86 -1.15 -0.50 -1.37 3
我该怎么办?
我尝试了以下无效的方法:
new_df = df[df['index'] >= 1 & df['index'] <= 3]
答案 0 :(得分:1)
最大和最小之间:使用on
:
between()
您的尝试>>> import pandas as pd
>>> df = pd.DataFrame({'a': [1,2,3], 'b':[11,12,13]})
>>> df
a b
0 1 11
1 2 12
2 3 13
>>> df[df.a.between(1,2)]
a b
0 1 11
1 2 12
在两个地方是错误的:
new_df = df[df['index'] >= 1 & df['index'] <= 3]
,而不是df.index
df["index"]