原始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
有什么想法吗?
谢谢!
答案 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