问题:在 Python Pandas 中选择前 N 行和最后一行。
仅获取 1 行,即索引 9 和最后一行。
df.iloc[[(9),-1]]
我以为我可以使用头部和最后一行,但不起作用。
df.iloc[[head(9),-1]]
目标输出: 0 1 2 3 取决于 9 最后一排
你可以使用
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
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 行,也是最后一行。
这是我提供带有示例输出的代码:
代码:
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
如果此代码适合您。请点赞。