我有一个数据集
ID col1 col2 year
1 A 111,222,3334 2010
2 B 344, 111 2010
3 C 121,123 2011
我想按以下方式重新排列数据集
ID col1 col2 year
1 A 111 2010
1 A 222 2010
1 A 3334 2010
2 B 344 2010
2 B 111 2010
3 C 121 2011
3 C 123 2011
我可以用下面的代码来做。
a = df.COMP_MONITOR_TYPE_CODE.str[:3]
df['col2'] = np.where(a == 111, 111)
因为我有一个很长的数据,逐个处理会很耗时。还有别的办法吗?
split
+explode
:
df.assign(col2 = df.col2.str.split(',')).explode('col2')
# ID col1 col2 year
#0 1 A 111 2010
#0 1 A 222 2010
#0 1 A 3334 2010
#1 2 B 344 2010
#1 2 B 111 2010
#2 3 C 121 2011
#2 3 C 123 2011