如果其中一列包含多个关键字,是否有拆分数据框中行的功能



我的数据集包含"高级关键字"列,并且包含多个以""分隔的关键字。我想根据这些关键字对数据进行分组。

我尝试使用函数unique((,但它对"多语言系统","多语言系统机器学习"和"机器学习"的处理方式不同。

我希望输出如下所示:

多语言 - 2

机器学习 -2

但我得到的是

多语言 - 1

机器学习 - 1

多语言机器学习 - 1

你能建议一些方法来做同样的事情吗?

您应该在分隔符上.split,然后计数。

from collections import Counter
from itertools import chain
Counter(chain.from_iterable(df["High-Level-Keyword(s)"].str.split('n')))
#Counter({'Machine Learning': 2, 'Multilangant': 2})

或者把它做成一个系列:

import pandas as pd
pd.Series(Counter(chain.from_iterable(df["High-Level-Keyword(s)"].str.split('n'))))
#Multilangant        2
#Machine Learning    2
#dtype: int64
这是

你想要的吗?

import pandas as pd
df= pd.DataFrame({"High-Level-Keyword(s)":["Multilangant Systems","Multilangant SystemsnMachine Learning","Machine Learning"] })
new = df["High-Level-Keyword(s)"].str.split("n", n=1, expand= True)
df["left"]= new[0]
df["right"]=new[1]
df2 = pd.concat([df["left"], df["right"]])
df2.value_counts()


#Multilangant Systems    2
#Machine Learning        2
#dtype: int64

最新更新