你如何用完全不分开的单词来分隔一列。从 pd.read_table 加载的数据?

How do you separate a column with words not separated at all. The data loaded from pd.read_table?

所以我从pd.read_table上传了一个数据:

df = pd.read_table('Test_Data.txt', delim_whitespace=True, names=('A', 'B'))
    

数据为:

    A                                                   B
0   AAABBABAABBAAABBBBAABBBABAAABAAAAABBBABBBAAABB...   True
1   AABAABABBBABAAAAABAAABBAABAABBABABBAAABABBBBAB...   True
2   BAAABBBBABABABBBABBAAABAAAAAAABBBBAABABABBBAAB...   True
3   BAABBABBABBAAAABABBBAAAAAAAABAAABBAAAABBAABBAA...   True
4   ABBABBBABBAABAABABBAAABAAAAABABABAABBAABBBAABA...   True

A 列是 100 个字母。我想将每个拆分成单独的列。我想要 100 列这些字母表和 B 列。我该怎么做?

谢谢!

您可以使用固定宽度的文本到列的转换选项。

数据 > 文本到列 >

Excel 将让您将指针放在要应用分隔的位置。

# for example        
df = pd.DataFrame({"A": ["ABB"]*5, "B": [True]*5})
print(df)

     A     B
0  ABB  True
1  ABB  True
2  ABB  True
3  ABB  True
4  ABB  True

# split string
df["A"] = df["A"].apply(list)
print(df)

           A     B
0  [A, B, B]  True
1  [A, B, B]  True
2  [A, B, B]  True
3  [A, B, B]  True
4  [A, B, B]  True

# new columns' names, here is 3, you could set 100
col_names = list(range(3))
df = pd.concat([df['A'].apply(pd.Series, index=col_names), df["B"]], axis=1)
print(df)


   0  1  2     B
0  A  B  B  True
1  A  B  B  True
2  A  B  B  True
3  A  B  B  True
4  A  B  B  True