我有如下所示的pandas数据框。
该列props
包含列表,列表中的元素长度不同。我知道列表中的最大条目数为5。我也知道列表是有序的,即我知道第二项始终属于具有特定标题(例如“时态”或“数字”)的列。然后,如何将列表中的每个条目转换为单独的列?
id source type target props subtype
2 wyrzucić V wyrzucisz [FUT, 2, SG] NaN
6 śniadać V śniadać [NFIN] NaN
7 bankrutować V bankrutujący [PST, ACT, PL, MASC, HUM] PTCP
8 chwiać V będą chwiały [FUT, 3, PL] NaN
23 dobyć V dobyłaś [PST, 2, SG, FEM] NaN
我已经尝试过usntack()
使用tolist()
方法以及方法。但是解决方案不适用于特定情况。
apply
通常很慢。您可以使用
In [34]: df.join(pd.DataFrame(df.props.values.tolist()))
Out[34]:
id props 0 1 2 3 4
0 2 [FUT, 2, SG] FUT 2 SG None None
1 6 [NFIN] NFIN None None None None
2 7 [PST, ACT, PL, MASC, HUM] PST ACT PL MASC HUM
3 8 [FUT, 3, PL] FUT 3 PL None None
4 23 [PST, 2, SG, FEM] PST 2 SG FEM None
细节
In [33]: df
Out[33]:
id props
0 2 [FUT, 2, SG]
1 6 [NFIN]
2 7 [PST, ACT, PL, MASC, HUM]
3 8 [FUT, 3, PL]
4 23 [PST, 2, SG, FEM]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句