如何根据用户输入访问数据框行

How to access dataframe rows based on user input

如何根据用户输入访问数据框行?假设我有一个包含世界各国的 csv 文件。第一列是“大陆”,第二列是“国家”,第三列是“城市”。

如果我选择某个国家/地区,如何从“城市”中获取所有值?

df = pd.read_csv("file.csv")


if continent == 'europe':
country = input("Choose a country:")
for index, row in enumerate(df.index):
    city = df.values[index]
    print(city)

使用这段代码,我只需打印出每个国家/地区的每个城市。如果我输入德国,我只想获得德国城市。我应该在 for 循环中的什么地方放置“国家”变量?

您不需要为此使用 for 循环。 假设你的数据框列被称为“大陆”、“国家”和“城市”,这样的事情应该有效:

input_country= input("Choose a country:")
print (df.loc[df.country==input_country].city)