拆分(爆炸)熊猫数据串条目以分隔行
pandas dataframe
a
b
:
In [7]: aOut[7]: var1 var20 a,b,c 11 d,e,f 2In [8]: bOut[8]: var1 var20 a 11 b 12 c 13 d 24 e 25 f 2
.apply
.transform
from pandas import DataFrameimport numpy as np a = DataFrame([{'var1': 'a,b,c', 'var2': 1}, {'var1': 'd,e,f', 'var2': 2}])b = DataFrame([{'var1': 'a', 'var2': 1}, {'var1': 'b', 'var2': 1}, {'var1': 'c', 'var2': 1}, {'var1': 'd', 'var2': 2}, {'var1': 'e', 'var2': 2}, {'var1': 'f', 'var2': 2}])
def fun(row): letters = row['var1'] letters = letters.split(',') out = np.array([row] * len(letters)) out['var1'] = letters a['idx'] = range(a.shape[0])z = a.groupby('idx')z.transform(fun)
慕田峪4524236
慕容708150
相关分类