大致目标就是以'Freq'列的分号拆分行,'Cfg'列的值也按分号匹配拆分,由于
'Cfg'列的分号多于'Freq'列,多余分号后的数值忽略掉, Freq'列为空的话,'Cfg'列 也让它为空,或者不做处理。
原DataFrame创建代码
import pandas as pd
import numpy as np
dict1 = {'MEID':['31102','31103','31104'],
'Freq':['','4.0 ','5.0;35.0;36.0'],
'Cfg':['10;30;40;60;70;70;70','10;30;40;60;70;70;70','10;30;40;60;70;70;70']}
df1 = pd.DataFrame(dict1)
print(df1)
原DataFrame
MEID Freq Cfg
311302 10;30;40;60;70;70;70
311303 4.0 10;30;40;60;70;70;70
311304 5.0;35.0;36.0 10;30;40;60;70;70;70
目标DataFrame
MEID Freq Cfg
311302
311303 4.0 10
311304 5.0 10
311304 35.0 30
311304 36.0 40
为防止我文字没描述清楚,我把目标DF和原DF的数据关系用下图表示一下。