我有这样一个数据框:
d = {'col1': ["url/a/b/c/d", "url/b/c/d", "url/j/k", "url/t/y", 'url/r/a/y'],
'id': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data=d)
我想在原始 Dataframe 的基础上创建另一个 Dataframe ,其中只有重复的字符串部分。
我的想法是在每个/
上拆分,然后将 Dataframe 的第一行与 Dataframe 的其余行进行比较(因此所有行都是一行),以检查是否相等。因此,我最初的例子的结果将是:
result = {'col1': [["a", "b", "c", "d"], ["b", "c", "d"], [""], ["y"], ["a", "y"]],
'id': [1, 2, 3, 4, 5]}
df_result = pd.DataFrame(data=result)
此外,我不能建立这个功能没有错误...任何想法?
谢谢!
1条答案
按热度按时间u7up0aaq1#
您可以提取所有需要的部分(可以使用多种方法),然后只保留重复的值,
reindex
添加缺少的空列表:输出: