【发布时间】:2018-11-24 13:57:34
【问题描述】:
我正在尝试将数据帧操作为输出数据帧格式。特定单元格中有多个值,以“,”分隔。当我使用.stack() 将多个值转换为行时,剩余的空单元格将被NaN 填充。 pandas 有没有通用的解决方案来处理这个问题?
输入数据框:
x1 y1 x2 x3 x4
abc x or y v1,v2,v3 l1,l2,l3 self
abc z no1,no2,no3 e1,e2,e3 self
输出数据框:
x1 y1 x2 x3 x4
abc x v1 l1 self
v2 l2
v3 l3
y v1 l1 self
v2 l2
v3 l3
abc z no1 e1 self
no2 e2
no3 e3
【问题讨论】:
-
试试
df.set_index(df.index).apply(lambda x: x.str.split(",").apply(pd.Series).stack()).reset_index(drop=True).fillna("")
标签: python pandas numpy dataframe