仅在熊猫数据框中找到并用数字替换字符串

时间:2019-01-28 23:42:52

标签: python python-3.x string pandas dataframe

我正在尝试将包含数字的字符串替换为pandas DataFrame中的另一个字符串(在这种情况下为空)。

我尝试使用.replace方法和正则表达式:

# creating dummy dataframe
data = pd.DataFrame({'A': ['test' for _ in range(5)]})

# the value that should get replaced with ''
data.iloc[0] = 'test5' 

data.replace(regex=r'\d', value='', inplace=True)

print(data)

      A
0  test
1  test
2  test
3  test
4  test

如您所见,它仅替换字符串中的'5',而不替换整个字符串。

我也尝试使用.where方法,但是它似乎不符合我的需要,因为我不想替换任何不包含数字的字符串

它应该是这样的:

      A
0  
1  test
2  test
3  test
4  test

1 个答案:

答案 0 :(得分:2)

您可以通过pd.Series.str.containsloc使用布尔索引:

value

类似地,使用masknp.where

data.loc[data['A'].str.contains(r'\d'), 'A'] = ''