如何将系列扩展为数据帧

2024-04-28 14:40:46 发布

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

假设我们有一个数据帧,如:

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

而数据帧不能

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

工作怎么样


Tags: 数据dataframedatatagstitionepdthree
1条回答
网友
1楼 · 发布于 2024-04-28 14:40:46

在本例中,您可以将apply()视为按行通过列tags。因此,应用pd.Series将使每个列表成为一个“水平”系列。然后,由于这些“水平”系列有一个“垂直”列,所以只剩下一个数据帧。相反,应用pd.DataFrame将使每个列表成为“垂直”数据帧,因此“垂直”数据帧的“垂直”列将为您提供一系列数据帧

希望从“水平”和“垂直”的角度来思考这一点,能对直觉有所帮助

相关问题 更多 >