例如:假设我们有一个名为students的数据帧,其中列
index name value. name
0 a 0.469112 jai
1 b -0.282863 pria
2 c -1.509059 riya
3 d -1.135632 avantika
4 e 1.212112 Akashi
5 f -0.173215 conan
6 g 0.119209 ai chan
7 h -1.044236 shinichi
8 i -0.861849 Edogawa
9 j -2.104569 black org
现在,我特别想选择行在4:8范围内的列值,即
4 e 1.212112 Akashi
5 f -0.173215 conan
6 g 0.119209 ai chan
7 h -1.044236 shinichi
我刚刚开始了解大熊猫,因此我对这些东西有疑问。
尝试使用set_index
和切片:
>>> df.set_index('index')[4:8].reset_index()
index name value. name.1
0 4 e 1.212112 Akashi
1 5 f -0.173215 conan
2 6 g 0.119209 ai chan
3 7 h -1.044236 shinichi
>>>
或者使用条件反射:
>>> df[df['index'].lt(8) & df['index'].ge(4)]
index name value. name.1
4 4 e 1.212112 Akashi
5 5 f -0.173215 conan
6 6 g 0.119209 ai chan
7 7 h -1.044236 shinichi
>>>
或只是:
>>> df[4:8]
index name value. name.1
4 4 e 1.212112 Akashi
5 5 f -0.173215 conan
6 6 g 0.119209 ai chan
7 7 h -1.044236 shinichi
>>>
您可以使用df。iloc [row_start: row_end col_start col_end):对于您的情况,使用下面的代码
students.iloc[4:8, :] # to take all columns we don't need to put any number range
你可以试试
df[4:8]
或
df.loc[4:7]
如果index
是您的示例中的一列,并且您希望index
的值在4和7之间。你可以这样做:
df[df['index'].between(4,7)]
如果你只想选择第4行到第7行,你可以这样做:
df.iloc[4:8]