首页 > 解决方案 > 无法对 DataFrame 中的第一列进行子集化

问题描述

我正在学习如何使用 Pandas,我已经从 Kaggle 下载了一些关于汽车价格等的数据。

我正在尝试通过将所有具有“高尔夫”模型的汽车子集来创建一个新的数据框。

golfs = df[df.model == "Golf"]

它确实返回了一个新的数据框,但是当我调用它时,除了列名之外它只是空的。

试试这个:

others = df[df.model != "Golf"]

创建一个新的数据框,但其中包含所有内容。列的数据类型是对象。所以我尝试通过传输创建子集,这也是一个对象。

man_trans = df[df.transmission == "Manual"]

仅使用手动传输创建一个新数据帧...我不知道哪里出了问题。我已经尝试对所有其他列进行子集化,但它只是第一个不起作用的列。我什至尝试将单元格值直接复制并粘贴到代码中。

我什至尝试添加:

df.reset_index()

添加一个新索引,因为我认为这可能是问题所在。

标签: pythonpython-3.xpandasdataframe

解决方案


代码看起来对我来说是正确的。如果高尔夫数据框为空,则可能没有 df['model'] == 'Golf'? 的任何行。也许是 =="golf" 代替?

# It this doesnt work....
# golfs = df[df.model == "Golf"]
# Maybe try this (or something like this
golfs = df[df.model == "golf"]

推荐阅读