gpt4 book ai didi

pandas - pyspark 的 pandas 中的 flatMap

转载 作者:行者123 更新时间:2023-12-02 01:27:12 25 4
gpt4 key购买 nike

pandas 中是否有与 flatMap 相同的操作在 pyspark 中?

平面 map 示例:

>>> rdd = sc.parallelize([2, 3, 4])
>>> sorted(rdd.flatMap(lambda x: range(1, x)).collect())
[1, 1, 1, 2, 2, 3]

到目前为止,我可以想到 apply 后跟 itertools.chain,但我想知道是否有一个一步解决方案。

最佳答案

有一个黑客。我经常做类似的事情

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'x': [[1, 2], [3, 4, 5]]})

In [3]: df['x'].apply(pd.Series).unstack().reset_index(drop=True)
Out[3]:
0 1
1 3
2 2
3 4
4 NaN
5 5
dtype: float64

引入 NaN 是因为中间对象创建了 MultiIndex,但对于很多事情你可以放弃它:

In [4]: df['x'].apply(pd.Series).unstack().reset_index(drop=True).dropna()
Out[4]:
0 1
1 3
2 2
3 4
5 5
dtype: float64

这个技巧使用了所有的 pandas 代码,所以我希望它相当高效,尽管它可能不喜欢大小不同的列表之类的东西。

关于pandas - pyspark 的 pandas 中的 flatMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com