这里是针对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 Annochr1 115252159 115252379 NRAS:NM_002524.4:exon4chr1 115256390 115256629 NRAS:NM_002524.4:exon3chr1 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 Exon0 NRAS NM_002524.4 exon41 NRAS NM_002524.4 exon32 NRAS NM_002524.4 exon2
完整内容点击原文
4.Python高频函数—数据分割split()dataframe 数据分割split()https://mp.weixin.qq.com/s/4QesADncC5BraLeptQKF_g



















