如果满足条件,则更改值,数据框[重复]

Posted

技术标签:

【中文标题】如果满足条件,则更改值,数据框[重复]【英文标题】: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?

【问题讨论】:

【参考方案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(';'))

【讨论】:

以上是关于如果满足条件,则更改值,数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果在 R 中满足条件,则从前一行获取值并连接

如果条件满足,则更新表。 (将表b中的值更新为a)所需的相应值[重复]

R重复功能直到满足条件

用重复数据填充数据框,直到满足特定条件

如果满足一行的条件,则删除多行

pandas:如果在循环中遇到条件,则更新值