pandas 创建一个 Dataframe ,其中每隔n列创建新行,仅使用分号作为分隔符

yrdbyhpb  于 2022-12-21  发布在  其他
关注(0)|答案(1)|浏览(106)

我在一个Pandas Dataframe 的一行中的一列中有以下字符串,你可以把它当作一个字符串。

;2;613;12;1;Ajc hw EEE;13;.387639;1;EXP;13;2;128;12;1;NNN XX Ajc;13;.208966;1;SGX;13;..

就像这样。
我想把它转换成一个表,并使用分号;符号作为分隔符。问题是没有新的行分隔符,我不得不估计它是每10项。
它应该看起来像这样。

;2;613;12;1;Ajc hw EEE;13;.387639;1;EXP;13;
 2;128;12;1;NNN XX Ajc;13;.208966;1;SGX;13;..

我怎样把这个字符串转换成一个新的Pandas格式的 Dataframe 呢?每隔10个分号分隔符,就应该创建一个新的行。
我不知道如何做到这一点,任何帮助将非常感谢在工具或想法方面。

4uqofj5v

4uqofj5v1#

这个应该可以

# removing first value as it's a semi colon
data = ';2;613;12;1;Ajc hw EEE;13;.387639;1;EXP;13;2;128;12;1;NNN XX Ajc;13;.208966;1;SGX;13;'[1:] 
data = data.split(';')
row_count = len(data)//10

data = [data[x*10:(x+1)*10] for x in range(row_count)]
pd.DataFrame(data)

我使用了一个双斜线来划分,但是由于你的数据长度应该可以被10整除,所以你只能使用一个。
下面是我的输出的屏幕截图。

相关问题