【问题标题】:Changing value if they meet a condition, dataframe [duplicate]如果满足条件,则更改值,数据框[重复]
【发布时间】:2019-08-01 08:12:44
【问题描述】:

我有一列电话号码,一些列值有';'一开始:

Phone
-------
890734687; 098766576565
890734687
;890734687
234873576; 987982346
;9088327427; 897234632

我最终需要的是:

Phone
-------
890734687; 098766576565
890734687
890734687
234873576; 987982346
9088327427; 897234632

我可以使用 for 循环吗?

for num in df['Phone']
    if num[0] == ';'
        # what next?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用str.lstrip:

    df.Phone = df.Phone.str.lstrip(';')
    

    现在:

    print(df)
    

    是:

                         Phone
    0  890734687; 098766576565
    1                890734687
    2                890734687
    3     234873576; 987982346
    4    9088327427; 897234632
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      df['Phone'] = df['Phone'].map(lambda x: x.lstrip(';'))
      

      【讨论】:

        猜你喜欢
        • 2021-09-28
        • 2023-02-24
        • 2020-06-08
        • 2023-03-08
        • 2020-11-09
        • 2019-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多