将浮动元组拆分为python数据帧中的多个列

时间:2020-09-29 17:14:46

标签: python pandas dataframe

我使用正则表达式从csv文档中提取模式,主要模式是(数量x单位为L),例如:2x2L或3x4L。 (请注意,一个单元格可以有多个模式,例如:我想要2x4L和3x1L)

0                                 []
1               [(2, x1L), (2, x4L)]
2               [(1, x1L), (1, x4L)]
3                         [(2, x4L)]
4               [(1, x4L), (1, x1L)]
                   ...              
95                        [(1, x2L)]
96              [(1, x1L), (1, x4L)]
97                        [(2, x1L)]
98                        [(6, x1L)]
99    [(6, x1L), (4, x2L), (4, x4L)]
Name: cards__name, Length: 100, dtype: object

我想创建3个列,分别为“ 1L”,“ 2L”和“ 4L”,然后为每个项目取数量并将其添加到相关列下的相关行中。

就这样

1L 2L 4L
2  0  2
1  0  1
0  0  4
1  0  1

但是我无法为元组建立索引以提取每个项目的数量和体积大小。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在使用pivot之前,您必须规范化列,例如这样:

df['multiplier_1'] = df['order_1'].apply(lambda r: r[0])
df['base_volume_1'] = df['order_1'].apply(lambda r: r[1])

通过这种方式,您将能够取消订单分组并最终分成多个基本卷。