如何在Pandas中拼接apply函数的执行结果?
Pandas 通用化:对Series/DataFrame元素/行应用函数后拼接为单个DataFrame
我希望对pandas的Series或DataFrame的每个元素/行应用一个函数,再将结果拼接/堆叠成单个DataFrame。举个例子,我有这样一个Series:s = pd.Series(["a", "b,c", "d,e,f"])
期望得到的最终结果是:res = pd.Series(["a", "b", "c", "d", "e", "f"])
一种效率较低的实现方式是:
res = [] for _, x in s.items(): res.append(pd.Series(x.split(","))) res = pd.concat(res, ignore_index=True)
我想探索pandas的内置功能来优化实现,目前发现可以通过s.apply(lambda x: x.split(","))或者s.str.split()得到一个元素为列表的Series,再基于这个来完成需求...
说明:
- 上述简单示例也可通过
pd.Series(",".join(s.tolist()).split(","))解决,但我需要的是通用型解决方案。 - 本问题并非重复提问(此前相关问题中的apply是通用概念,并非pandas的内置函数)。
内容的提问来源于stack exchange,提问作者Roger V.
相关产品推荐
相关产品推荐

