我有一个数据集
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
数据帧可以有许多列。但是Type
和Cluster
中的元素数量将是相同的。我只想把它们分成不同的行,并复制所有其他列。
我怎么能在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'])
)