从列中的列表中删除重复项
Remove duplicates from lists in columns
我在数据框中有两列,Col_A 和 Col_B,df。
Col_A Col_B
[1.222, 1.222, 1.333] [cla:pl:dr, cla:pl:dr]
[] [clp:dp, xr.ld, xr.ld]
[1.29.1, 1.1, 1.1] [ru:pun, ru:pun, hm:dm]
我想删除 ea 中的重复值。 ea列表。 Col_A 和 Col_B 的行,如下所示。
type(df['Col_A'][0])
returns list
我尝试过的示例 return 无法散列的类型错误。我试图避免此错误但无济于事的方法包括:
df['Col_A'].map(lambda x: tuple(set(x)))
我该如何解决这个问题?
编辑:复制粘贴的数据。
看起来您正在使用字符串作为数据。
data = {'col_A': [['1.222', '1.222', '1.333'], [], ['1.29.1', '1.1', '1.1']] ,
'col_B': [['cla:pl:dr', 'cla:pl:dr'], ['clp:dp', 'xr.ld', 'xr.ld'], ['ru:pun', 'ru:pun', 'hm:dm']] }
df = pd.DataFrame(data)
df['col_A'] = df['col_A'].apply(lambda x: list(set(x)))
df['col_B'] = df['col_B'].apply(lambda x: list(set(x)))
输出 DF
col_A col_B
0 [1.222, 1.222, 1.333] [cla:pl:dr, cla:pl:dr]
1 [] [clp:dp, xr.ld, xr.ld]
2 [1.29.1, 1.1, 1.1] [ru:pun, ru:pun, hm:dm]
OutPut DF(去除重复后)
col_A col_B
0 [1.222, 1.333] [cla:pl:dr]
1 [] [clp:dp, xr.ld]
2 [1.29.1, 1.1] [ru:pun, hm:dm]
我在数据框中有两列,Col_A 和 Col_B,df。
Col_A Col_B
[1.222, 1.222, 1.333] [cla:pl:dr, cla:pl:dr]
[] [clp:dp, xr.ld, xr.ld]
[1.29.1, 1.1, 1.1] [ru:pun, ru:pun, hm:dm]
我想删除 ea 中的重复值。 ea列表。 Col_A 和 Col_B 的行,如下所示。
type(df['Col_A'][0])
returns list
我尝试过的示例 return 无法散列的类型错误。我试图避免此错误但无济于事的方法包括:
df['Col_A'].map(lambda x: tuple(set(x)))
我该如何解决这个问题?
编辑:复制粘贴的数据。
看起来您正在使用字符串作为数据。
data = {'col_A': [['1.222', '1.222', '1.333'], [], ['1.29.1', '1.1', '1.1']] ,
'col_B': [['cla:pl:dr', 'cla:pl:dr'], ['clp:dp', 'xr.ld', 'xr.ld'], ['ru:pun', 'ru:pun', 'hm:dm']] }
df = pd.DataFrame(data)
df['col_A'] = df['col_A'].apply(lambda x: list(set(x)))
df['col_B'] = df['col_B'].apply(lambda x: list(set(x)))
输出 DF
col_A col_B
0 [1.222, 1.222, 1.333] [cla:pl:dr, cla:pl:dr]
1 [] [clp:dp, xr.ld, xr.ld]
2 [1.29.1, 1.1, 1.1] [ru:pun, ru:pun, hm:dm]
OutPut DF(去除重复后)
col_A col_B
0 [1.222, 1.333] [cla:pl:dr]
1 [] [clp:dp, xr.ld]
2 [1.29.1, 1.1] [ru:pun, hm:dm]