Pandas系列列表到一个系列

2024-05-29 10:40:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一系列的字符串:

0                           [slim, waist, man]
1                                [slim, waistline]
2                                     [santa]

如您所见,列表因长度而异。我想用一种有效的方法把这个分解成一个系列

0 slim
1 waist
2 man
3 slim
4 waistline
5 santa

我知道我可以用

series_name.split(' ')

但我很难把这些条件放回一个列表中。

谢谢!


Tags: 方法字符串name列表santa条件seriessplit
3条回答

基本上你只是想把嵌套列表放平。

您应该只能够遍历序列中的元素:

slist =[]
for x in series:
    slist.extend(x)

或者一个更圆滑(但更难理解)的列表理解:

slist = [st for row in s for st in row]
series_name.sum()

做你所需要的。请确保它是一系列列表,否则您的值将被连接(如果是字符串)或添加(如果是int)

下面是一个只使用pandas函数的简单方法:

import pandas as pd

s = pd.Series([
    ['slim', 'waist', 'man'],
    ['slim', 'waistline'],
    ['santa']])

那么

s.apply(pd.Series).stack().reset_index(drop=True)

提供所需的输出。在某些情况下,您可能希望保存原始索引并添加第二个级别来索引嵌套元素,例如

0  0         slim
   1        waist
   2          man
1  0         slim
   1    waistline
2  0        santa

如果这是您想要的,只需从链中省略.reset_index(drop=True)

相关问题 更多 >

    热门问题