Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 消除数据帧中列值的重复-该列包含多个URL';s_Python_Pandas_Dataframe - Fatal编程技术网

Python 消除数据帧中列值的重复-该列包含多个URL';s

Python 消除数据帧中列值的重复-该列包含多个URL';s,python,pandas,dataframe,Python,Pandas,Dataframe,因此,在我的DataFrame Pd1中有一个名为“URL”的列 URL row 1 : url1,url1,url2 row 2 : url2,url2,url3 输出: URL row 1 : url1,url2 row 2 : url2,url3 如果数据 URL 0 url1,url1,url2 1 url2,url2,url3 然后 我假设您的列只包含URL列表 可能的解决办法之一是: 将函数应用于URL列,包

因此,在我的DataFrame Pd1中有一个名为“URL”的列

        URL

row 1 : url1,url1,url2
row 2 : url2,url2,url3
输出:

        URL
row 1 : url1,url2
row 2 : url2,url3

如果数据

              URL
0  url1,url1,url2
1  url2,url2,url3
然后


我假设您的列只包含URL列表

可能的解决办法之一是:

  • 将函数应用于URL列,包括以下步骤:
    • 在每个逗号上拆分源字符串(tre result是 碎片)
    • 从该列表中创建一个集合(从而消除重复)
    • 使用逗号连接此集中的键
  • 将结果保存回源列
比如:

df.URL = df.URL.apply(lambda x: ','.join(set(re.split(',', x))))
由于此代码使用re模块,您必须在之前导入re。

拆分并应用集合

d={“url”:[“url1,url1,url2”,
“url2、url2、url3”]}
df=pd.数据帧(d)
df.url.str.split(“,”).apply(集合)

您尝试过什么代码,我也假设您使用的是pandas?
URL
列只是一个字符串,还是它包含一个列表?干得不错,但我感觉“row1:”和“Row2:”不是
URL
列的一部分,而是他编写df索引的方式。啊!!我使用了
,所以在我的数据帧Pd1中有一个名为“URL”的列,如果OP发生了变化,那么我会相应地进行改变
              URL
0  url1,url1,url2
1  url2,url2,url3
df['URL'] = df.URL.str.split(',').apply(lambda x: ','.join(sorted(set(x))))
##print(df)

        URL
0  url1,url2
1  url2,url3
df.URL = df.URL.apply(lambda x: ','.join(set(re.split(',', x))))