是否有任何方法可以使用python在Pandas DataFrame中使用行索引范围选择列的特定部分?



例如:假设我们有一个名为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]

相关内容

  • 没有找到相关文章

最新更新