Сначала я применяю условие к определенному столбцу и получаю желаемый результат.
Первый случай
df[df['country'] == 'Zimbabwe']
Выход
country continent year lifeExp pop gdpPercap
1692 Zimbabwe Africa 1952 48.451 3080907 406.884115
1693 Zimbabwe Africa 1957 50.469 3646340 518.764268
1694 Zimbabwe Africa 1962 52.358 4277736 527.272182
1695 Zimbabwe Africa 1967 53.995 4995432 569.795071
1696 Zimbabwe Africa 1972 55.635 5861135 799.362176
1697 Zimbabwe Africa 1977 57.674 6642107 685.587682
1698 Zimbabwe Africa 1982 60.363 7636524 788.855041
1699 Zimbabwe Africa 1987 62.351 9216418 706.157306
1700 Zimbabwe Africa 1992 60.377 10704340 693.420786
1701 Zimbabwe Africa 1997 46.809 11404948 792.449960
1702 Zimbabwe Africa 2002 39.989 11926563 672.038623
1703 Zimbabwe Africa 2007 43.487 12311143 469.709298
Второй случай
df[df.iloc[:,[0]] == 'Zimbabwe']
Вывод
country continent year lifeExp pop gdpPercap
0 NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ...
1699 Zimbabwe NaN NaN NaN NaN NaN
1700 Zimbabwe NaN NaN NaN NaN NaN
1701 Zimbabwe NaN NaN NaN NaN NaN
1702 Zimbabwe NaN NaN NaN NaN NaN
1703 Zimbabwe NaN NaN NaN NaN NaN
Почему я не получаю такой же вывод в второй случай как в первом случае? В чем разница между этими двумя командами?