拆分成新的列

Split into new columns

为了将单元格拆分为新的列,我使用了以下代码:

   | Column1       | Column2
   | a;b;c;d;e;f   | 1;2;3;4

df = pd.read_excel('FileName.xlsx')
new = df["Column1"].str.split(";", n=5, expand=True).
df['1st'] = new[0]
df['2nd'] = new[1]
df['3rd'] = new[2]
df['4th'] = new[3]
df['5th'] = new[4]
df['6th'] = new[5]
df.drop(columns=["Column1"], inplace=True)

输出会变成

 Column:   1st 2nd 3rd 4th 5th 6th 
             a   b   c   d   e   f;

如何取消最后一项的分号

您很可能在问题中打错了字。我敢打赌当你读入数据时 f 后面有一个分号,它看起来像这样:

    Column1         Column2
0   a;b;c;d;e;f;    1;2;3;4

不是这个:

    Column1         Column2
0   a;b;c;d;e;f     1;2;3;4

因此,如果您设置 n=6 而不是 n=5,那么应该删除最后的分号。或者,您可以只删除 n=6 作为参数。复制我在上面的答案中包含的第一个数据框和 运行 下面的代码以及下面的 df = pd.read_clipboard('\s+\s+')

import pandas as pd
df = pd.read_clipboard('\s+\s+')
new = df["Column1"].str.split(";", n=6, expand=True)
df['1st'] = new[0]
df['2nd'] = new[1]
df['3rd'] = new[2]
df['4th'] = new[3]
df['5th'] = new[4]
df['6th'] = new[5]
df.drop(columns=["Column1", "Column2"], inplace=True)
df