在Pandas中把一系列的列表转换为一个系列
让我们看看如何在Pandas中把一个系列的列表转换为一个单一的系列。
首先,让我们创建一个列表系列。在这个问题上,我们创建了一个有12个元素的列表系列,每个列表的长度为3,有4个列表,因此总元素数为12。当列表系列被转换为一个列表时,它将有12个元素。
import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [5, 6, 7], [9, 1, 2]]
s = pd.Series(data)
print(s)
输出:
方法1:使用extend()方法
在这个方法中,我们遍历系列中的每个元素,并将其添加到一个列表中,注意,我们使用的是extend()方法。
ls = []
for i in s:
ls.extend(i)
s1 = pd.Series(ls)
print(s1)
输出:
方法2 :使用pd.concat()方法
我们遍历系列中的每一个列表,并将其转换为系列对象,然后将所有系列沿行连接起来,形成最终的系列。我们还需要重置索引。
ls = []
for i in s:
ls.append(pd.Series(i))
s1 = pd.concat([*ls]).reset_index(drop = True)
print(s1)
输出:
方法3:使用apply()方法。
系列对象有一个apply()方法,它接收一个函数作为参数,并将其应用于每个元素。然后我们将所有的元素堆叠起来,并重置索引。
s1 = s.apply(pd.Series).stack().reset_index(drop = True)
print(s1)
输出: