簡體   English   中英

如何查找存儲在 pandas 數據框列中的逗號分隔字符串中唯一值的數量?

[英]How to find the number of unique values in comma separated strings stored in an pandas data frame column?

X Unique_in_x
5,5,6,7,8,6,8 4個
5,9,8,0 4個
5,9,8,0 4個
3,2 2個
5,5,6,7,8,6,8 4個

Unique_in_x 是我預期的列。有時 x 列也可能是字符串。

您可以將列表理解與set一起使用

df['Unique_in_x'] = [len(set(x.split(','))) for x in df['x']]

或者使用splitnunique

df['Unique_in_x'] = df['x'].str.split(',', expand=True).nunique(1)

Output:

               x  Unique_in_x
0  5,5,6,7,8,6,8            4
1        5,9,8,0            4
2        5,9,8,0            4
3            3,2            2
4  5,5,6,7,8,6,8            4

您可以使用np.unique()找到列表的唯一值,然后只使用長度

import pandas as pd
import numpy as np

df['Unique_in_x'] = df['X'].apply(lambda x : len(np.unique(x.split(','))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM