[英]replace string in pandas dataframe
我有一个包含多列的数据框。 我想查看一列,如果列中的任何字符串包含@,我想用另一个字符串替换它们。 我该怎么做呢?
pandas中的数据框由列系列组成 - Panda docs链接
我将使用正则表达式,因为它很有用,每个人都需要练习,包括我自己! Panda文档用于文本操作
注意str.replace。 你想要的正则表达式字符串是这个(它适用于我):'。* @ +。*'表示“任何字符(。)零次或多次(*),然后是@ 1次或更多次(+)跟随任何字符(。)零次或多次(*)
df['column'] = df['column'].str.replace('.*@+.*', 'replacement')
应该工作,'替换'是你想要放入的任何字符串。
假设你调用了数据帧df
,你可以这样做:
pd.DataFrame(map(lambda col: map(lambda x: 'anotherString' if '@' in x else x, df[col]), df.columns)).transpose()
我的建议:
df['col'] = ['new string' if '@' in x else x for x in df['col']]
不确定哪个更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.