如何将系列扩展到数据框

时间:2021-01-20 20:19:05

标签: python pandas dataframe series expand

假设我们有一个像这样的数据框:

data = pd.DataFrame({'num': [1,2,3], 
                     'tags': [['toto','tata','titi'],
                             ['one','two','three'],
                             ['he','she','us']]})

数据


  num   tags
0   1   [toto, tata, titi]
1   2   [one, two, three]
2   3   [he, she, us]

我不明白为什么 data.tags.apply(pd.Series) 可以将 data.tags 扩展为自己的数据框

data.tags.apply(pd.Series)

    0      1        2
0   toto  tata   titi
1   one   two    three
2   he    she    us

而DataFrame不能!

data.tags.apply(pd.DataFrame) 

0           0
0  toto
1  tata
2  titi
1           0
0  one
1  two
2  three
2           0
0  he
1  she
2  us
Name: tags, dtype: object

它是如何工作的?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以将 document.getElementById('search').addEventListener( 'submit', async e => { e.preventDefault(); const searchResult = await getDetails(); // Do something to show the results, populate #results const resultsElement = document.getElementById('results'); resultsElement.innerText = JSON.stringify(searchResult); }); 视为按行遍历 apply() 列。因此,应用 tags 将使每个列表成为“水平”系列。然后,由于您有这些“水平”系列的“垂直”列,因此您只剩下一个数据框。相反,应用 pd.Series 将使每个列表成为“垂直”数据帧,因此“垂直”数据帧的“垂直”列将为您提供一系列数据帧。

希望从“水平”和“垂直”的角度考虑它有助于对正在发生的事情的直觉有所帮助。