我目前在替换熊猫数据框中的字符串时遇到困难。所以我想更改的字符串是"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