python - 无法对 DataFrame 中的第一列进行子集化
问题描述
我正在学习如何使用 Pandas,我已经从 Kaggle 下载了一些关于汽车价格等的数据。
我正在尝试通过将所有具有“高尔夫”模型的汽车子集来创建一个新的数据框。
golfs = df[df.model == "Golf"]
它确实返回了一个新的数据框,但是当我调用它时,除了列名之外它只是空的。
试试这个:
others = df[df.model != "Golf"]
创建一个新的数据框,但其中包含所有内容。列的数据类型是对象。所以我尝试通过传输创建子集,这也是一个对象。
man_trans = df[df.transmission == "Manual"]
仅使用手动传输创建一个新数据帧...我不知道哪里出了问题。我已经尝试对所有其他列进行子集化,但它只是第一个不起作用的列。我什至尝试将单元格值直接复制并粘贴到代码中。
我什至尝试添加:
df.reset_index()
添加一个新索引,因为我认为这可能是问题所在。
解决方案
代码看起来对我来说是正确的。如果高尔夫数据框为空,则可能没有 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"]
推荐阅读
- html - 使用 PowerShell 检索视频库中的项目
- javascript - 在 Vue.js 中单击按钮时清除文本字段?
- java - IMap.delete 和 IMap.evict 之间的区别
- c# - 使用依赖注入过滤属性
- db2 - 在 OSX 上使用 db2cli
- julia - 保留内部类型定义:在另一个结构中定义结构数组
- java - 如何修复 GUI 组件“离开”他们的面板或占用他们应该占用的更多空间?
- android - android动态交付无法获得用户确认
- wordpress - WordPress 单篇文章模板布局
- docker - 从 Jenkins 中的容器访问父守护进程