首页 > 解决方案 > 程序未根据设置条件打印信息

问题描述

我有这个名为 sample.csv 的 csv 文件:

CODE     Place     Time
0001       USA       00
0002    Canada       00
0003    Canada       01
0004       USA       01
0005    Canada       01

我想打印“加拿大”和“01”的所有信息。所以对于上面的例子,我想看到这个:

CODE     Place     Time
0003    Canada       01
0005    Canada       01

这是我编写的代码,但它不起作用(编译器显示“Empty DataFrame”)。我应该改变什么?

import pandas as pd

search_Place = "Canada"
search_Time = "01"

df = pd.read_csv("sample.csv")
df2 = df[df["Place"] == search_Place][df["Time"] == search_Time]

print(df2)

标签: pythonpandasdataframecsv

解决方案


请注意,df[df["Place"] == search_Place]它的长度与 (6) 的 (3) 不同df["Time"] == search_Time,即. 如果您的代码 ( ) 没有引发错误/警告,len(df)我会感到惊讶。df2 = df[df["Place"] == search_Place][df["Time"] == search_Time]

尝试:

df[df['Place'].eq(search_Place) & df['Time'].eq(search_Time)]

输出:

   CODE   Place Time
2  0003  Canada   01
4  0005  Canada   01

推荐阅读