修剪 pandas 数据框不同列中相似字符串中的空格
Trimming white spaces in similar strings in different columns of pandas dataframe
我的问题很简单,我在提问之前尝试了所有可能的 SO 答案。
我有一个数据框
{'article_journal': {0: 'lipids', 1: 'nature reviews cardiology', 2: 'clinical research
cardiology supplements', 3: 'jacc basic to translational science', 4: 'clinical research
cardiology supplements', 5: 'diabetes obesity metabolism', 6: 'journal'}, 'Title': {0:
'chemistry physics lipids', 1: 'nature reviews cardiology', 2: 'clinical research
cardiology', 3: 'jacc basic to translational science', 4: 'clinical research cardiology', 5:
'diabetes obesity metabolism', 6: 'journal'}}
几乎所有字符串中都有多余的空格。我在 Excel.
中检查过
我只打印值相同的那些
df[df.apply(pd.Series.nunique, axis = 1) == 1]
并且只收到一行,这是我为测试目的自己创建的
article_journal Title
6 journal journal
如何trim相似字符串中的空格?
预期输出
article_journal Title
1 nature reviews cardiology nature reviews cardiology
3 jacc basic to translational science jacc basic to translational science
5 diabetes obesity metabolism diabetes obesity metabolism
6 journal journal
我用 str.strip()
尝试了所有可能的问题,但没有任何效果。列是对象。我错过了什么?谢谢!
您可以在整个数据框中将双 space 替换为单个 space,并且 trim 前导和尾随 space(s)(如果存在):
df = df.replace('\s+',' ', regex=True) # remove double spacing in strings
df = df.replace('^\s+|\s+$','', regex=True) # remove leading or trailing spaces
我的问题很简单,我在提问之前尝试了所有可能的 SO 答案。
我有一个数据框
{'article_journal': {0: 'lipids', 1: 'nature reviews cardiology', 2: 'clinical research
cardiology supplements', 3: 'jacc basic to translational science', 4: 'clinical research
cardiology supplements', 5: 'diabetes obesity metabolism', 6: 'journal'}, 'Title': {0:
'chemistry physics lipids', 1: 'nature reviews cardiology', 2: 'clinical research
cardiology', 3: 'jacc basic to translational science', 4: 'clinical research cardiology', 5:
'diabetes obesity metabolism', 6: 'journal'}}
几乎所有字符串中都有多余的空格。我在 Excel.
中检查过我只打印值相同的那些
df[df.apply(pd.Series.nunique, axis = 1) == 1]
并且只收到一行,这是我为测试目的自己创建的
article_journal Title
6 journal journal
如何trim相似字符串中的空格?
预期输出
article_journal Title
1 nature reviews cardiology nature reviews cardiology
3 jacc basic to translational science jacc basic to translational science
5 diabetes obesity metabolism diabetes obesity metabolism
6 journal journal
我用 str.strip()
尝试了所有可能的问题,但没有任何效果。列是对象。我错过了什么?谢谢!
您可以在整个数据框中将双 space 替换为单个 space,并且 trim 前导和尾随 space(s)(如果存在):
df = df.replace('\s+',' ', regex=True) # remove double spacing in strings
df = df.replace('^\s+|\s+$','', regex=True) # remove leading or trailing spaces