我有一个数据框,它有索引列和ds_值列,如下面打印的df
index ds_value <br>
1 SEG1|CA|90025|34|~SEG2|2|3|10150|~TITLE|Test| <br>
2 SEG1|NV|90567|50|~SEG24|4|5|54678|~JOB|None|<br>
如何查找每行上的每一段类型,并根据为每一段分隔的管道拆分数据行的段类型。段可以是相同的名称,也可以是不同的名称,每个段由~character分隔
在本例中,第一行有SEG1、SEG2和标题
以及第二行的SEG1、SEG24和作业。
每个段可以位于每个数据帧中,例如Df1、df2、df3…等,因为我将把这些数据帧插入sql server
请帮帮我
以下是我所期待的结果
df1: SEG1 <br>
index 0 1 2 3 <br>
1 SEG1 CA 90025 34 <br>
2 SEG1 NV 90567 50 <br>
df2 : SEG2<br>
index 0 1 2 3 <br>
1 SEG2 2 3 10150<br>
df3 : TITLE<br>
index 0 1 <br>
1 TITLE Test <br>
df4 : SEG24<br>
index 0 1 2 3 <br>
2 SEG24 4 5 54678 <br>
df5 : JOB<br>
index 0 1 <br>
2 JOB None
您可以先按
~
拆分,然后按|
拆分,因此,只要分隔符值以~
开头(如果第一个值不是以~
开头,则没有问题):dfs
(数据帧列表)的输出:说明:
在这段代码的第一行中,您将得到一系列元素,这些元素被
~
分割(同时使用strip
删除不必要的末端管道):在第二行中,我们循环遍历将创建新数据帧的每个组,并通过拆分管道将值扩展为多列。在这一步中,我认为模式在不同的值(相同数量的项)之间是一致的,否则它可能会失败
最后,我们为列表中的所有数据帧放回原始索引
相关问题 更多 >
编程相关推荐