首页 > 解决方案 > 我想计算数据框中的 python 列表的元素,并将输出作为数据框中的一列。我怎么做?

问题描述

所以,我有一个看起来像这样的数据框:

| column_1 | column 2        |
| 0.       | [`a`, 'b', 'c'] |
| 1        | ['z', 'y']      |
| 2        | ['a']           |

我想要的输出是一列(具有相同的索引号),如下所示:

| column_1 | column 2        | column 3|
| 0.       | [`a`, 'b', 'c'] | 3       |
| 1        | ['z', 'y']      | 2       |
| 2        | ['a']           | 1       |

标签: pythonpandasdataframecsv

解决方案


做就是了:

df['column_3'] =  df['column_2'].apply(len)
print(df)

输出

   column_1   column_2  column_3
0         0  [a, b, c]         3
1         1     [z, y]         2
2         2        [a]         1

或者更hacky,使用str访问器:

df['column_3'] = df['column_2'].str.len()
print(df)

输出

   column_1   column_2  column_3
0         0  [a, b, c]         3
1         1     [z, y]         2
2         2        [a]         1

推荐阅读