import pandas as pd
import re
# Source data
df = pd.DataFrame( data={'A': ['abc: aaa 123: 111', 'edf: 111', 'ghi: a11 324: aaa', 'jkm: bn2 jsk: 1f4']})
df['A'] = df['A'].re.sub("(^|[:])\s*([a-zA-Z])", lambda p: p.group(0).upper(), s)
結果:
AttributeError: 'Series' 物件沒有屬性 're'
我想將冒號和空格后的所有字母大寫“:”
df = pd.DataFrame( data={'A': ['abc: Aaa 123: 111', 'edf: 111', 'ghi: A11 324: Aaa', 'jkm: Bn2 jsk: 1f4']})
uj5u.com熱心網友回復:
您可以使用以下方法使您的代碼正常作業:
def substitute(x):
return re.sub("([: ])\s*([a-zA-Z])", lambda p: p.group(0).upper(), x)
df['A'] = df['A'].apply(lambda x: substitute(x))
OUTPUT:
A
0 abc: Aaa 123: 111
1 edf: 111
2 ghi: A11 324: Aaa
3 jkm: Bn2 Jsk: 1f4
uj5u.com熱心網友回復:
嘗試這個:
df['A'] = df.A.str.replace(r':\s [a-zA-Z]', lambda p: p.group(0).upper())
# output
A
0 abc: Aaa 123: 111
1 edf: 111
2 ghi: A11 324: Aaa
3 jkm: Bn2 jsk: 1f4
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/340526.html
上一篇:加入和分組2個資料框
下一篇:迭代和替換資料框列值
