2
我有以下系列:高效串聯
s = pd.Series([['a', 'b'], ['c', 'd'], ['f', 'g']])
>>> s
0 [a, b]
1 [c, d]
2 [f, g]
dtype: object
什麼是最簡單的 - 最好是矢量 - 的方式來連接所有列出的系列,讓我得到:
l = ['a', 'b', 'c', 'd', 'f', 'g']
謝謝!
我有以下系列:高效串聯
s = pd.Series([['a', 'b'], ['c', 'd'], ['f', 'g']])
>>> s
0 [a, b]
1 [c, d]
2 [f, g]
dtype: object
什麼是最簡單的 - 最好是矢量 - 的方式來連接所有列出的系列,讓我得到:
l = ['a', 'b', 'c', 'd', 'f', 'g']
謝謝!
嵌套的列表理解應該快得多。
>>> [element for list_ in s for element in list_]
['a', 'b', 'c', 'd', 'f', 'g']
>>> %timeit -n 100000 [element for list_ in s for element in list_]
100000 loops, best of 3: 5.2 µs per loop
>>> %timeit -n 100000 s.sum()
100000 loops, best of 3: 50.7 µs per loop
直接訪問列表的值更快。
>>> %timeit -n 100000 [element for list_ in s.values for element in list_]
100000 loops, best of 3: 2.77 µs per loop
非常感謝,很好的回答。 –
's.sum()'是最簡單的矢量化的方式,但它可能不是非常有效... –
真棒!對我來說足夠好! thanx很多 –
@ajcr應該是一個答案! –