替换行中的值-熊猫

时间:2020-10-16 15:11:10

标签: python pandas

每个星期我最终都会列出要发送短信的联系人列表,但事实证明有些数字丢失了9,而我总是需要修正出现错误的数字,这最终很费力。我现在开始研究熊猫,所以我仍然有一些疑问。我想做的是阅读列电话,如果该数字中的字符数少于11,即ddd的2加电话的9,则它加9。我用一个循环进行了测试,并且工作正常替换。但是现在我不知道如何在熊猫中实现它,以便它将替换数据框中的那些值。你能帮我吗?

这是我做过的循环,印刷品只是检查它是否有效。

for i in dados.iloc[:,3]:
  if len(str(i))<11:
    print(i)
    a = str(i)
    novo = a[:2]+'9'+a[2:]
    print('depois')
    print(int(novo))

1 个答案:

答案 0 :(得分:1)

您可以将代码段转换为函数并使用apply

def add_nine(row):
    if len(str(row))<11:
        print(row)
        a = str(row)
        novo = int(a[:2]+'9'+a[2:])
        print(int(novo))

df['my_col'] = df['my_col'].apply(add_nine)