【问题标题】:Python Pandas dataframe user search functionPython Pandas 数据框用户搜索功能
【发布时间】:2021-03-26 06:08:36
【问题描述】:
我有一个 Pandas CSV 文件,我想知道如何创建 Python 用户搜索功能来查找行。以下是 CSV 的示例 -
我想创建一个函数,它向用户询问作为列之一的 ICAO 代码,然后它返回整行信息。例如,如果有人键入 EHAM,它将返回该行中的所有信息(位置、国际民航组织、机场、国家、总移动量、过去 24 小时内的位置变化)
作为奖励,但我不确定是否有可能,我还希望在显示结果时显示请求搜索上方的 2 行和下方的 2 行。例如,它不仅会显示 EHAM,还会显示 EDDF、EGKK(上方 2 行)以及 KBOS 和 KATL(下方 2 行)
【问题讨论】:
标签:
python
pandas
dataframe
csv
search
【解决方案1】:
尝试使用以下代码进行完全匹配。假设您的 CSV 文件存储在名为df的数据框中
icao = input("Enter the ICAO code: ")
print(df[df["ICAO"] == icao]])
此外,如果您认为输入值在数据框中至少有一个实例,并且索引是递增顺序的,您可以尝试以下一种:
icao = input("Enter the ICAO code: ")
requested = df[df["ICAO"] == icao]]
print(df.iloc[requested.index[0] - 2 : requested.index[0] + 3, :])
此外,您必须决定要对前两行或最后两行中的实例执行什么操作。