numpy 如何计算嵌入在datafrane列中的列表元素的数量?

vlju58qv  于 2022-11-29  发布在  其他
关注(0)|答案(2)|浏览(145)

我有一个如下所示的 Dataframe (包括括号和引号):
| 识别码|兴趣|
| - -| - -|
| 小行星2131| ['music','art','travel']|
| 三二一三|[]|
| 小行星3132| ['martial arts']|
| 小行星3232| ['martial arts']|
我尝试获得的预期输出为:
| 识别码|兴趣|
| - -| - -|
| 小行星2131|三个|
| 三二一三|第0页|
| 小行星3132|一个|
| 小行星3232|一个|
我试过用

from collections import Counter
ravel = np.ravel(user.personal_interests.to_list())

但这只是给了我每个组合的计数,即:【武学】:2
我也试过去掉引号,用一个系列来计数,但无济于事。

guz6ccqo

guz6ccqo1#

如果您有清单(['music','art','travel']):

df['Interests'] = df['Interests'].str.len()

如果有字符串("['music','art','travel']"):

from ast import literal_eval

df['Interests'] = df['Interests'].apply(literal_eval).str.len()

或者,如果您知道没有引号:

df['Interests'] = df['Interests'].str.count(',').add(df['Interests'].ne('[]'))
chy5wohz

chy5wohz2#

您可以尝试在Python中使用len()方法
如果
df
是您的 Dataframe ,

df['new_interests'] = df['Interests'].apply(lambda x: temp.append(len(x)))

相关问题