2024-05-29 10:40:39 发布
网友
我有一系列的字符串:
0 [slim, waist, man] 1 [slim, waistline] 2 [santa]
如您所见,列表因长度而异。我想用一种有效的方法把这个分解成一个系列
0 slim 1 waist 2 man 3 slim 4 waistline 5 santa
我知道我可以用
series_name.split(' ')
但我很难把这些条件放回一个列表中。
谢谢!
基本上你只是想把嵌套列表放平。
您应该只能够遍历序列中的元素:
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)。
.reset_index(drop=True)
基本上你只是想把嵌套列表放平。
您应该只能够遍历序列中的元素:
或者一个更圆滑(但更难理解)的列表理解:
做你所需要的。请确保它是一系列列表,否则您的值将被连接(如果是字符串)或添加(如果是int)
下面是一个只使用pandas函数的简单方法:
那么
提供所需的输出。在某些情况下,您可能希望保存原始索引并添加第二个级别来索引嵌套元素,例如
如果这是您想要的,只需从链中省略
.reset_index(drop=True)
。相关问题 更多 >
编程相关推荐