【发布时间】:2018-11-12 11:41:11
【问题描述】:
基于此SO question,我想根据列var1 拆分我的数据框。但是,字母之间没有分隔符。
import pandas as pd
a = pd.DataFrame([{'var1': 'abc', 'var2': 1},
{'var1': 'def', 'var2': 2}])
b = pd.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}])
这就是我想要达到的目标。
>>> a
var1 var2
0 abc 1
1 def 2
>>> b
var1 var2
0 a 1
1 b 1
2 c 1
3 d 2
4 e 2
5 f 2
.split() 不适用于空字符 ("")。
pd.concat([Series(row['var2'], row['var1'].split(','))
for _, row in a.iterrows()]).reset_index()
因此,上述方法不起作用。知道如何实现吗?
【问题讨论】: