首页 > 解决方案 > 使用不同的其他列在 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

标签: pythonpandasdataframe

解决方案


是的,在整个列上使用 pandas 函数比在行上循环更有效。

作为第一个答案,我建议这样做:在姓氏中添加一堆'2's,然后选择前 10 个字符。


推荐阅读