将包含可变长度列表的数据框列转换为数据框中的多列

阿姆里斯·克里希纳(Amrith Krishna)

我有如下所示的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要将 Pandas 数据框列中的可变长度数据拆分为多列

将具有可变长度的字典列表的字典转换为熊猫数据框

如何将可变长度列表从一个 python 数据框列转换为行?

在pandas数据框列中检测可变长度模式

根据可变长度在Pandas数据框列中建立索引列表

将Python列表转换为多列Pandas数据框

将多列火花数据框转换为列表/数组

将列表列表转换为数据框中的列

如何将包含列表的列转换为熊猫数据框中的单独列?

将包含字典列表的列转换为pandas数据框中的多个列

Python 将数据框中的多列转换为单列

将列表中的列转换为R中的数据框

将数据框中的列转换为类列表

将列数据框转换为 R 中的列表

将数据框列中的整数转换为列表

将熊猫数据框中的列表转换为列

将列表转换为pyspark中的数据框列

将数据框中的列值转换为列表

将包含不等长元素的列表转换为 R 中的两列数据框(首选 dplyr)

如何从熊猫数据框中的可变长度列中提取子字符串?

将Pandas数据框转换为包含索引,数据和列的列表的列表

将字典列表的数据框列转换为多列,并将字典键作为新列

将列表转换为元组后,熊猫将长度列添加到数据框

如何将基于列的大型数据框转换为R中的数据框列表

使用lapply将单个数据框列转换为数据框列表中的数字

将一列中的词典列表转换为同一数据框中的多列

根据值是可变长度列表的字典创建数据框

熊猫数据框:将列表的列转换为列表

将单列数据框转换为多列