如果字符串包含字符模式,如何用 None 替换值?
How to replace values by None if string contains character pattern?
我想替换 pandas df 列中的每个字符串 departments
为 None 如果它包含 )
departments var1 var1.1
1 transport aa uu
2 industry) bb tt
3 aviation) cc tt
数据集应该的样子
departments var1 var2
1 transport aa uu
2 None bb tt
3 None cc tt
这里有一个类似的解决方案:
我不使用 spark,如何将它转换为基础 python?
df.withColumn("departments", when(col("departments").rlike("\)"), None)
.otherwise(col("departments"))
)
使用您显示的示例,请尝试执行以下操作。对于我们在 m 变量设置 None 中获得的值,您可以使用 str.contains
function to find out whatever values in departments
column has )
then using .loc
到这些值。
m = df['departments'].str.contains('\)', na=False)
df.loc[m,'departments'] = None
我想替换 pandas df 列中的每个字符串 departments
为 None 如果它包含 )
departments var1 var1.1
1 transport aa uu
2 industry) bb tt
3 aviation) cc tt
数据集应该的样子
departments var1 var2
1 transport aa uu
2 None bb tt
3 None cc tt
这里有一个类似的解决方案:
我不使用 spark,如何将它转换为基础 python?
df.withColumn("departments", when(col("departments").rlike("\)"), None)
.otherwise(col("departments"))
)
使用您显示的示例,请尝试执行以下操作。对于我们在 m 变量设置 None 中获得的值,您可以使用 str.contains
function to find out whatever values in departments
column has )
then using .loc
到这些值。
m = df['departments'].str.contains('\)', na=False)
df.loc[m,'departments'] = None