我有一个问题的解决方案,令我绝望的是有点慢,我正在寻求关于如何加快我的解决方案的建议(通过添加向量化或其他聪明的方法)。我有一个数据帧,看起来像这样:
toy = pd.DataFrame([[1,'cv','c,d,e'],[2,'search','a,b,c,d,e'],[3,'cv','d']],
columns=['id','ch','kw'])输出为:

任务是将kw列分解为一个(复制的)行,每个字符串中的每个逗号分隔条目。因此,我希望实现的是:

我最初的解决方案如下:
data = pd.DataFrame()
for x in toy.itertuples():
id = x.id; ch = x.ch; keys = x.kw.split(",")
data = data.append([[id, ch, x] for x in keys], ignore_index=True)
data.columns = ['id','ch','kw']问题是:对于较大的数据帧,速度很慢。我希望有人以前遇到过类似的问题,并且知道如何优化我的解决方案。我使用python 3.4.x和pandas 0.19+,如果这很重要的话。
谢谢!
https://stackoverflow.com/questions/44458434
复制相似问题