如何将DataFrame字符串列中的字符拆分为多个列?
没问题,这事儿用pandas分分钟搞定!你需要把每行的字符串按单个字符拆分,分别映射到新的列中。这里给你两种可行的方法,都是针对固定长度字符串(你的例子里都是4个字符)的场景:
方法1:直接按字符索引提取(直观易懂)
这种方式适合明确知道字符串长度的情况,直接通过str[index]提取每个位置的字符:
import pandas as pd # 创建你提供的原始DataFrame df = pd.DataFrame({'col1': ['AGCT', 'AGCT']}) # 提取每个位置的字符,生成新列 df = pd.DataFrame({ 'col1': df['col1'].str[0], 'col2': df['col1'].str[1], 'col3': df['col1'].str[2], 'col4': df['col1'].str[3] }) print(df)
运行后输出就是你想要的结构:
col1 col2 col3 col4 0 A G C T 1 A G C T
方法2:用split拆分后整理(更通用)
如果你的字符串长度固定但不想逐个写索引,可以用str.split拆分,再过滤掉多余的空列并重命名:
import pandas as pd df = pd.DataFrame({'col1': ['AGCT', 'AGCT']}) # 拆分字符串(空字符拆分会产生首尾空列,所以用iloc取中间有效列) split_df = df['col1'].str.split('', expand=True).iloc[:, 1:-1] # 重命名列名 split_df.columns = ['col1', 'col2', 'col3', 'col4'] print(split_df)
两种方法都能得到你需要的结果,选哪种看你习惯就行~
内容的提问来源于stack exchange,提问作者Spencer
相关产品推荐
相关产品推荐

