python - 如何为 pandas 数据框中的新列或 python 上的值计数设置参数?
问题描述
我正在使用来自 Kaggle 的一些关于欧洲蓝色斑块的数据。其中许多牌匾描述了名人,但其他牌匾则描述了地点、事件或动物。数据框包括那些名人的出生和死亡年份,我添加了一个新列,显示主要主题在他们死亡时的年龄,代码如下:
plaques['subject_age'] = plaques['lead_subject_died_in'] - plaques['lead_subject_born_in']
这适用于某些数据集,但由于某些主题没有列“lead_subject_died_in”和“lead_subject_born_in”的值,所以我的一些结果很时髦。
我试图用这个来确定最常见的死亡年龄:
agecount = plaques['subject_age'].value_counts()
print(agecount)
- 我得到了一些疯狂的东西 - 负数,600+等 - 我如何让它只计算那些实际上在这两列中都有数据的人的值?
顺便说一句,我是初学者,所以如果你建议的操作非常困难,请说明他们在做什么,以便我将来学习和使用它!
解决方案
您可以使用dropna
函数删除nan
某些列中的值:
# remove nan values from these 2 columns
plaques = plaques.dropna(subset = ['lead_subject_died_in', 'lead_subject_born_in'])
plaques['subject_age'] = plaques['lead_subject_died_in'] - plaques['lead_subject_born_in']
# get the most frequent age
plaques['subject_age'].value_counts().idxmax()
# get the top 5 top five most common ages
plaques['subject_age'].value_counts().head()
推荐阅读
- soapui - 从列表中获取随机值
- windows - 如何以编程方式启用/禁用 Windows 启动项?
- webpack - 升级 Next.js 后来自 Webpack 的警告
- ios - 我无法更改 tabBar SelectedIndex
- pdf - 我怎么知道输出值?用于设置进度条
- shell - 如何在 linux 中创建命令,别名是唯一的方法吗?
- react-native - 如何在本机反应中更新函数内部的状态?
- database - How to write connect user/password in procedure in oracle?
- javascript - 在 jspdf 中使用自定义字体
- python - 无法从“utils”导入名称“INPUT_SHAPE”