簡體   English   中英

如何在熊貓數據框中找到公共子字符串?

[英]How to find common substring in a pandas dataframe?

我得到以下數據框:

解決方案名稱 細節
潔面乳 內容A
潔面乳(1+2) 內容A
清潔劑x3 內容B
審判 內容C
增量試驗 內容C

從上面可以看出,“解決方案名稱”列中有公共子字符串

預期結果:

解決方案名稱 細節
潔面乳 內容A
潔面乳 內容B
審判 內容C

如果Content不同,該行仍將在此處。 僅更改了“ Solution Name ”列中的單元格。

您可以在“查找公共子字符串”周圍搜索一下,這並不難。 然后使用 pandas 找到您理想的表格表示形式。

這是一種解決方法

from suffix_trees import STree
def find_common(l):
    common = STree.STree(list(l['Solution Name']))
    return common.lcs()

a = pd.DataFrame({
    'Solution Name': ['Cleanser', 'Cleanser(1+2)', 'Cleanserx3', 'Trial', 'Incremental Trial'],
    'Detail': ['A', 'A', 'B', 'C', 'C']
})
result = pd.DataFrame(a.groupby('Detail').apply(find_common), columns=['Solution Name']).reset_index()[['Solution Name', 'Detail']]
display(result)

暫無
暫無

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

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