我有一个熊猫系列,例如['AAA.B','BBB.C','CCC.D']。我想在句点(包括首尾)后删除每个字符串的部分。换句话说,此处的期望结果将是['AAA','BBB','CCC']。我无法弄清楚如何做到这一点,而又一次不能遍历每个元素以分别对其进行操作,这的确是低效的。对如何执行此操作有任何想法吗?
答案 0 :(得分:2)
使用str.split
例如:
s = pd.Series( ['AAA.B', 'BBB.C', 'CCC.D'])
print(s.str.split(".").str[0])
输出:
0 AAA
1 BBB
2 CCC
dtype: object
答案 1 :(得分:1)
您可以使用str.replace
:
s = pd.Series(['AAA.B', 'BBB.C', 'CCC.D'])
s.str.replace(r'(\.\w+)', '')
0 AAA
1 BBB
2 CCC
dtype: object
答案 2 :(得分:1)
做到这一点的最好方法是
s = s.split('.')[0]
另一种方法可以是正则表达式。或者,如果在“。”之后。也必须使用
head, sep, tail = s.partition('.')
在这种情况下,head将包含在'。'之前的字符串部分,sep将包含'。',而tail将在'。'之后的字符串部分。