这里是针对dataframe 的数据的列中的字符串进行分割、分列,首先需要先用.str将这一列转换为类似字符串的格式,然后再使用split()方法。
Part.1
split()函数
根据分隔符或正则表达式对字符串进行拆分;返回数据框(DataFrame)或者复杂索引(MultiIndel)。
Series.str.split(pat=None, # 字符串,默认使用空白分割,分列的依据,可以是空格,符号,字符串等等
n=-1, # n : 整型,默认为-1,既使用所有的分割点分割。n参数,指定分隔的次数
expand=False # expand为布尔类型,表示分割后是否转换为DataFrame。默认为False表示不转换。
)
Part.2
split()函数应用示例
2.1 数据读取
需求:将Anno 这一列进行拆分成:Gene Transcript Exon
panel_data = pd.read_csv("panel.bed", sep="\t")
panel_data:
Chrom Start End Anno
chr1 115252159 115252379 NRAS:NM_002524.4:exon4
chr1 115256390 115256629 NRAS:NM_002524.4:exon3
chr1 115258640 115258811 NRAS:NM_002524.4:exon2
2.2 expand=False 只分割字符串,不分列
panel_split = panel_data['Anno'].str.split(":")
panel_split:
0 [NRAS, NM_002524.4, exon4]
1 [NRAS, NM_002524.4, exon3]
2 [NRAS, NM_002524.4, exon2]
Name: Anno, dtype: object
2.3 expand=True 分割字符串,分列
panel_split = panel_data['Anno'].str.split(":", expand=True)
panel_split.columns = [Gene, Transcript, Exon]
panel_split:
Gene Transcript Exon
0 NRAS NM_002524.4 exon4
1 NRAS NM_002524.4 exon3
2 NRAS NM_002524.4 exon2
完整内容点击原文
4.Python高频函数—数据分割split()dataframe 数据分割split()https://mp.weixin.qq.com/s/4QesADncC5BraLeptQKF_g