熊猫的数据输出不正确

时间:2021-06-01 19:05:33

标签: pandas dataframe csv unique-values

我有一个如下所示的 csv 文件:

start_date,end_date,pollster,sponsor,sample_size,population,party,subject,tracking,text,approve,disapprove,url
    2020-02-02,2020-02-04,YouGov,Economist,1500,a,all,Trump,FALSE,Do you approve or disapprove of Donald Trump’s handling of the coronavirus outbreak?,42,29,https://d25d2506sfb94s.cloudfront.net/cumulus_uploads/document/73jqd6u5mv/econTabReport.pdf
    2020-02-02,2020-02-04,YouGov,Economist,376,a,R,Trump,FALSE,Do you approve or disapprove of Donald Trump’s handling of the coronavirus outbreak?,75,6,https://d25d2506sfb94s.cloudfront.net/cumulus_uploads/document/73jqd6u5mv/econTabReport.pdf
    2020-02-02,2020-02-04,YouGov,Economist,523,a,D,Trump,TRUE,Do you approve or disapprove of Donald Trump’s handling of the coronavirus outbreak?,21,51,https://d25d2506sfb94s.cloudfront.net/cumulus_uploads/document/73jqd6u5mv/econTabReport.pdf
    2020-02-02,2020-02-04,YouGov,Economist,599,a,I,Trump,,Do you approve or disapprove of Donald Trump’s handling of the coronavirus outbreak?,39,25,https://d25d2506sfb94s.cloudfront.net/cumulus_uploads/document/73jqd6u5mv/econTabReport.pdf
    2020-02-07,2020-02-09,Morning Consult,"",2200,a,all,Trump,TURE,Do you approve or disapprove of the job each of the following is doing in handling the spread of coronavirus in the United States? President Donald Trump,57,22,https://morningconsult.com/wp-content/uploads/2020/02/200214_crosstabs_CORONAVIRUS_Adults_v4_JB.pdf

我对具有“TURE”、“FALSE”或 NAN 值的“跟踪”列感兴趣

出于某种原因,当我用熊猫阅读它时,所有“跟踪”列值都加载为“假”:

data = pd.read_csv("covid_approval_polls.csv")
data.head() 

start_date  end_date    pollster    sponsor     sample_size     population  party   subject     tracking    text    approve     disapprove  url
0   2020-02-02  2020-02-04  YouGov  Economist   1500.0  a   all     Trump   False   Do you approve or disapprove of Donald Trump’s...   42.0    29.0    https://d25d2506sfb94s.cloudfront.net/cumulus_...
1   2020-02-02  2020-02-04  YouGov  Economist   376.0   a   R   Trump   False   Do you approve or disapprove of Donald Trump’s...   75.0    6.0     https://d25d2506sfb94s.cloudfront.net/cumulus_...
2   2020-02-02  2020-02-04  YouGov  Economist   523.0   a   D   Trump   False   Do you approve or disapprove of Donald Trump’s...   21.0    51.0    https://d25d2506sfb94s.cloudfront.net/cumulus_...
3   2020-02-02  2020-02-04  YouGov  Economist   599.0   a   I   Trump   False   Do you approve or disapprove of Donald Trump’s...   39.0    25.0    https://d25d2506sfb94s.cloudfront.net/cumulus_...
4   2020-02-07  2020-02-09  Morning Consult     NaN     2200.0  a   all     Trump   False   Do you approve or disapprove of the job each o...   57.0    22.0    https://morningconsult.com/wp-content/uploads/.

...

当我使用以下命令搜索该列的唯一值时:

data.tracking.unique()

我得到了正确的输出:

array([False, True, nan], dtype=object)

但是当我执行命令时:

print(data[data["tracking"] == "FALSE"])

我明白了:

Empty DataFrame
Columns: [start_date, end_date, pollster, sponsor, sample_size, population, party, subject, tracking, text, approve, disapprove, url]
Index: []

我很确定我在这里遗漏了一些东西,但不知道是什么导致了问题?我想根据列“跟踪”值“假”获取行

1 个答案:

答案 0 :(得分:2)

要强制输入,请使用 dtype 参数:

data = pd.read_csv("covid_approval_polls.csv", dtype={"tracking": str})
相关问题