通过将其他列的内容复制到每一行中,将单元格中逗号分隔的值转换为不同的行



我有一个数据集

Name    Type        Cluster      Value
ABC     AA,BB       AZ,YZ        15
LMN     CC,DD,EE    LM,LM,LM     20

以及许多其他列。

我想把它转换成一个数据帧,比如:

Name    Type        Cluster     Value    TypeSubset    ClusterSubset
ABC     AA, BB      AZ, YZ       15       AA            AZ 
ABC     AA, BB      AZ, YZ       15       BB            YZ
LMN     CC,DD,EE    LM,LM,LM     20       CC            LM
LMN     CC,DD,EE    LM,LM,LM     20       DD            LM 
LMN     CC,DD,EE    LM,LM,LM     20       EE            LM

数据帧可以有许多列。但是TypeCluster中的元素数量将是相同的。我只想把它们分成不同的行,并复制所有其他列。

我怎么能在python中做到这一点。

我试过

df.set_index(['Type','Cluster'])
.apply(lambda x: x.astype(str).str.split(',').explode())
.reset_index())  ```
Not getting the desired result.

assign新列和explode并行。

(df.assign(TypeSubset=df['Type'].str.split(','),
ClusterSubset=df['Cluster'].str.split(',')
)
.explode(['TypeSubset', 'ClusterSubset'])
)

相关内容

  • 没有找到相关文章

最新更新