2024-09-28 21:31:49 发布
网友
我有pandas数据框,需要用另一个值替换vale的一部分
例如。我有
HF - Antartica HF - America HF - Asia
其中我想替换HF -部分 因此,结果将是
HF -
Hi Funny Antartica Hi Funny America Hi Funny Asia
我试过pd.replace()但它不起作用,因为我只需要替换字符串的一部分,而不是整个字符串
pd.replace()
我想再跟大家分享一件非常重要的事情,你可以用空格代替句号带“.”正常全停
df['label']=df.label.replace({"\. ": "."},regex=True)
要添加到@jezrael的答案中,您需要包含regex=True,否则它将直接匹配。此外,这里它还替换了数据框中所有列的值。如果不打算这样做,可以过滤到列,然后替换。要替换数据帧中的所有值,请尝试:
regex=True
df.replace('HF', 'Hi Funny', regex=True)
您还可以提供基于列表的模式和替换值。文档here中提供了完整的选项集。
因此,如果数据帧是:
>df = pd.DataFrame({'Column': ['HF - Antartica', 'HF - America', 'HF - Asia']}) >df.replace('HF', 'Hi Funny', regex=True)
应打印:
Column 0 Hi Funny - Antartica 1 Hi Funny - America 2 Hi Funny - Asia
看来你需要^{}:
print (df) val 0 HF - Antartica 1 HF - America 2 HF - Asia print (df.val.replace({'HF -':'Hi'}, regex=True)) 0 Hi Antartica 1 Hi America 2 Hi Asia Name: val, dtype: object
与^{}类似的解决方案:
print (df.val.str.replace('HF -', 'Hi')) 0 Hi Antartica 1 Hi America 2 Hi Asia Name: val, dtype: object
我想再跟大家分享一件非常重要的事情,你可以用空格代替句号带“.”正常全停
要添加到@jezrael的答案中,您需要包含
regex=True
,否则它将直接匹配。此外,这里它还替换了数据框中所有列的值。如果不打算这样做,可以过滤到列,然后替换。要替换数据帧中的所有值,请尝试:df.replace('HF', 'Hi Funny', regex=True)
您还可以提供基于列表的模式和替换值。文档here中提供了完整的选项集。
因此,如果数据帧是:
应打印:
看来你需要^{} :
与^{} 类似的解决方案:
相关问题 更多 >
编程相关推荐