我正在尝试应用 .apply 在熊猫中的一列
import pandas as pd
ids = pd.DataFrame({
'Id':['ABCD0000000001', 'ABCD0000000002', 'ABCD0000000003','ABCD0000000004','ABCD0000000004'],
}
)
ids['Id']=ids['Id'].apply(lambda x: x[:2] + 'X' * (len(x) - 2) + x[-1])
它适用于上述数据集,但它为原始数据集抛出错误。
原始数据集的错误:
类型错误:"float"对象不可下标
我认为您可以按缺失值添加过滤:
ids['Id1']=ids['Id'].apply(lambda x: x[:2] + 'X' * (len(x) - 2) + x[-1] if pd.notnull(x) else x)
或:
ids['Id1']= [x[:2] + 'X' * (len(x) - 2) + x[-1] if pd.notnull(x) else x for x in ids['Id']]