如何在Python Pandas中选择前N行和最后一行?

问题描述 投票:0回答:3

问题:在 Python Pandas 中选择前 N 行和最后一行。

仅获取 1 行,即索引 9 和最后一行。

df.iloc[[(9),-1]]

我以为我可以使用头部和最后一行,但不起作用。

df.iloc[[head(9),-1]]

目标输出: 0 1 2 3 取决于 9 最后一排

python pandas dataframe rows
3个回答
2
投票

你可以使用

numpy.concatenate
:

import numpy as np
out = df.iloc[np.r_[0:9, -1]]

或者只是列出串联:

out = df.iloc[list(range(9))+[-1]]

测试:

对于数据框:

df = pd.DataFrame({'a':range(20), 'b':range(100,120)})

输出:

     a    b
0    0  100
1    1  101
2    2  102
3    3  103
4    4  104
5    5  105
6    6  106
7    7  107
8    8  108
19  19  119

2
投票
head = df.head(9)
tail = df.tail(1)
df = head.append(tail)

我想你只是想要这个。如有错误请澄清。

输出:

    first_column  second_column
0              0              0
1              1              1
2              2              2
3              3              3
4              4              4
5              5              5
6              6              6
7              7              7
8              8              8
12            12             12

这是假设我理解正确,你想要 9 行,也是最后一行。


0
投票

这是我提供带有示例输出的代码:

代码:

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
    'Age': [25, 30, 22, 35, 28],
    'Salary': [50000, 60000, 45000, 70000, 55000]
}

df = pd.DataFrame(data)

first_3_rows = df.head(3)
print("First 3 rows:")
print(first_3_rows)
print("\n")


last_2_row = df.tail(2) 
print("Last 2 row:")
print(last_2_row)

输出:

First 3 rows:
Name  Age  Salary
0    Alice   25   50000
1      Bob   30   60000
2  Charlie   22   45000


Last 2 row:
Name  Age  Salary
3  David   35   70000
4  Emily   28   55000

如果此代码适合您。请点赞。

© www.soinside.com 2019 - 2024. All rights reserved.