假设我们有一个数据帧,如:
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
工作怎么样
在本例中,您可以将
apply()
视为按行通过列tags
。因此,应用pd.Series
将使每个列表成为一个“水平”系列。然后,由于这些“水平”系列有一个“垂直”列,所以只剩下一个数据帧。相反,应用pd.DataFrame
将使每个列表成为“垂直”数据帧,因此“垂直”数据帧的“垂直”列将为您提供一系列数据帧希望从“水平”和“垂直”的角度来思考这一点,能对直觉有所帮助
相关问题 更多 >
编程相关推荐