Skip to main content
 首页 » 编程设计

python之如何计算列表中元素的数量并创建新列

2025年05月04日11qlqwjy

我有一个 df 如下:

   Col1                                           Col2 
    0                                     [7306914, 7306915] 
    1                                     [7295911, 7295912] 
    2                                              [7324496] 
    3                                     [7294109, 7294110] 
    4                                              [7313713] 

第二列是一个列表。 我想要的是创建一个包含列表中元素总数的新列

预期输出:

   Col1        Col2           Col3 
    0    [7306914, 7306915]      2 
    1    [7295911, 7295912]      2 
    2    [7324496]               1 
    3    [7294109, 7294110]      2 
    4    [7313713]               1 

请您参考如下方法:

使用Series.str.len .这是一种矢量化方法,比 apply 函数更有效,后者本质上是 looping under-the-hood:

df = pd.DataFrame([{'Col1': 0, 'Col2': [7306914, 7306915]}, {'Col1': 1, 'Col2': [7295911, 7295912]}, {'Col1': 2, 'Col2': [7324496]}, {'Col1': 3, 'Col2': [7294109, 7294110]}, {'Col1': 4, 'Col2': [7313713]}]) 
 
df['Col3'] = df['Col2'].str.len() 

[输出]

print(df) 
 
   Col1                Col2  Col3 
0     0  [7306914, 7306915]     2 
1     1  [7295911, 7295912]     2 
2     2           [7324496]     1 
3     3  [7294109, 7294110]     2 
4     4           [7313713]     1