替换熊猫列中数据帧文本中的特定字符串



我目前在替换熊猫数据框中的字符串时遇到困难。所以我想更改的字符串是"private"->"pte""limited"->"ltd"

该表如下所示:

Column: Company_Name
1. XXXX private limited
2. XX (private) limited
3. yyy pte. limited

我的代码是:

df['company_name'].str.replace('.*private.+*','pte')
df['company_name'].str.replace('limited$','ltd)
print(df)

但我仍然得到与我使用熊猫读取完全相同的数据帧。有谁知道为什么 - 我检查了我导入了 re?

看:

import pandas as pd
index = [1,2,3]
columns = ['company_name']
data =  ['XXXX private limited','XX (private) limited','yyy pte. limited']
df = pd.DataFrame(data, index=index, columns=columns)
df['company_name'] = df['company_name'].str.replace('private','pte')
df['company_name'] = df['company_name'].str.replace('limited$','ltd')

结果:

company_name
1  XXXX pte ltd
2  XX (pte) ltd
3  yyy pte. ltd

现在,您必须搜索如何删除 ((。 符号。

祝你有美好的一天,

马库斯

str.replace 不是就地操作,您必须将值分配回 df['company_name']

上面的答案是正确的。 另一种选择是您可以使用就地的专有功能。

代码应该是:

df['company_name'].str.replace('.*private.+*', 'pte' , inplace = True)
df['company_name'].str.replace('limited$', 'ltd', inplace = True)

因此,可以立即更新数据帧df

最新更新