在数据分析中常常处理一些文本数据,pandas提供了处理字符串的矢量化方法。
字符串方法
如果要把数据分为两列
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame({
'数据':['李华 男','小红 女','晓明 男']
})
display(data)
df=data['数据'].str.split(' ')
display(df)
正则表达式
字符串的矢量化操作同样适用于正则表达式
例:提取QQ账号
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame({
'QQ邮箱':['2234565431@qq.com','124323231@qq.com','3412123321@qq.com']
})
display(data)
a=data['QQ邮箱'].str.findall('(.*?)@')
print(a)
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
from IPython.display import display
data=DataFrame({
'QQ邮箱':['2234565431@qq.com','124323231@qq.com','3412123321@qq.com']
})
display(data)
a=data['QQ邮箱'].str.findall('(.*?)@')
print(a)
data['QQ']=data['QQ邮箱'].str.findall('(.*?)@').str.get(0)
display(data)