添加具有元组长度的列(项目数)

时间:2015-11-13 10:31:14

标签: python pandas tuples dataframe

原始DataFrame只有一列有元组。我想添加一个列,其中包含每个元组中的项数(长度)。

           ITEMS
0   (EGG, WATER, TOMATOE)
1   (MILK, EGG)
2   (CHOPSTICKS)

df['NUM_ITEMS'] = df.ITEMS.len():不起作用

df['NUM_ITEMS'] = df.ITEMS.count():添加一个包含DataFrame中总行数的列

我使用df['NUM_ITEMS'] = df.ITEMS.astype(str).str.count('\', \'') + 1,但我想这不是最好的方法。我确信有直接的方法可以做到,但我看不到它。

最终数据集:

           ITEMS            NUM_ITEMS
0   (EGG, WATER, TOMATOE)      3
1   (MILK, EGG)                2
2   (CHOPSTICKS)               1

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

致电apply并传递func len

In [392]:
df['NUM_ITEMS'] = df['ITEMS'].apply(len)
df

Out[392]:
                   ITEMS  NUM_ITEMS
0  (EGG, WATER, TOMATOE)          3
1            (MILK, EGG)          2
2          (CHOPSTICKS)           1