python - 从熊猫数据框中的用户输入变量中获取上下N行
问题描述
所以我试图实现这一点,我在 pandas 中有数据框,并给出了一个变量,用户在其中输入一个数字,如果该数字与数据框中的索引号匹配,我想在数据上方显示 3 行,在数据下方显示 3 行数据框。
我有什么数据
user_number = int(input('Input Number : '))
print(user_number)
Country Result
0 China N
1 India N
2 Brazil Y
3 Indonesia N
4 Bhutan N
5 Mexico Y
6 Canada N
7 Peru N
8 Honduras N
9 Bhutan N
例如,如果用户输入 5,我希望显示第 2、3、4 行和第 6、7、8 行
我想达到什么结果:
2 Brazil Y
3 Indonesia N
4 Bhutan N
5 Mexico Y
6 Canada N
7 Peru N
8 Honduras N
解决方案
pd.concat
与 一起使用df.iloc
:
user_number = int(input('Input Number : '))
print(pd.concat([df.iloc[user_number-3:user_number],df.iloc[user_number:user_number+4]]))
我的 RAW 尝试 ;-)
>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame({'A': np.arange(10)})
>>> user_number = int(input('Input Number : '))
Input Number : 5
>>> pd.concat([df.iloc[user_number-3:user_number],df.iloc[user_number:user_number+4]])
A
2 2
3 3
4 4
5 5
6 6
7 7
8 8
推荐阅读
- vb.net - 可以获取 PDF 字体编码值吗?
- python - python - 如何在python中为每列提供标题名称时进行数据清理并将结果导出到excel?
- vuejs3 - Vue 3:无法读取 null 的属性“id”
- reactjs - 任何正确/干净的方法来处理反应表中的大量 if..then 案例?
- javascript - 电子:打印 iframe 给出参考
- javascript - VBA 网页点击
- javascript - express.js:将上传的图像传递给 s3
- kubernetes - Istio 安装因私有 docker 注册表而失败
- c - 使用 printf、pipe 和 fork 时的奇怪行为
- android - 专辑文件夹重命名在 Android 11 中不起作用