Pandas DataFrame中的双向比较?

时间:2017-07-09 14:21:38

标签: python pandas dataframe

我刚开始与熊猫图书馆一起旅行。实际上我正试图探索Kaggle | Titanic Dataset

因此,实际上有一个名为" Fare"。

的专栏

我想知道谁有"票价" == 0

我可以使用,

print titanic_df[titanic_df["Fare"] == 0] #titanic_df is my DataFrame

我完全理解这个过程。

现在我看到有人说在Pandas DataFrame上使用2路比较并由

给出
print titanic_df["Fare"][titanic_df["Fare"] == 0]

这也打印了相同的行数。我对代码的执行方式感到很困惑(第二个索引的含义是什么)。我可能会问一个非常愚蠢的问题,但在此之前我搜索了很多,没有任何成功。

请耐心等待。任何帮助表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:4)

这两种选择之间的区别在于第一种返回'pandas.core.frame.DataFrame',第二种返回'pandas.core.series.Series'

print type(titanic_train_df[titanic_train_df["Fare"] == 0])
<class 'pandas.core.frame.DataFrame'>

这是所选行的所有列,其中'Fare'== 0。

print type(titanic_train_df["Fare"][titanic_train_df["Fare"] == 0])
<class 'pandas.core.series.Series'>

这只是所选行的“票价”列,其中“票价”== 0。