python - 使用不同的其他列在 Pandas 数据框中生成自定义字段的最佳方法?
问题描述
我希望在承载很多人的数据框中生成一个个人标识符变量。这将存在他们姓氏的 10 个字符,如果他们的姓氏少于 10 个字符,它将用“2”填充这些单元格。
IEpeople['surname'].astype(str).str[0] + people['surname'].astype(str).str[1]
最有效的方法是什么?我来自其他语言,我会使用 for 循环,但我知道当我可以使用向量和其他东西时,这不太有效,特别是对于大数据帧。任何建议都将不胜感激,因为我想改善习惯/效率。
我的数据的一个例子是: 人:
名字,姓氏,出生日期,
bob, jobs, 2000-01-04
jim, jobsworth, 2000-01-02
rob, jobbington, 2000-01-03
cob, jobsalotverylongname, 2000-01-01
解决方案
是的,在整个列上使用 pandas 函数比在行上循环更有效。
作为第一个答案,我建议这样做:在姓氏中添加一堆'2'
s,然后选择前 10 个字符。
推荐阅读
- android - 确定图像大小以减小图像大小 Android
- python - 如何解析包含不同对象类型的 HTML 表?
- scala - 将多图映射到数据框的列
- hadoop - 如何在 Sqoop 作业中增加映射器的数量
- laravel - Laravel Passport:无法访问用户数据并重定向到登录页面
- angular - 将缩放范围添加到 ngx-leaflet 图层控件
- python - 异步语音识别响应中没有语言代码和替代语言代码
- typescript - 如何在打字稿中正确使用 lodash-es?
- angular - 使用 Angular 在 NativeScript 中嵌入 SideDrawer
- python - 计算 pandas 列中条目的频率,然后用 X 轴字符串标签将它们绘制成图