如何将dictionary应用于panda中包含numpy数组的数据帧列



我有一个pandas data frame object列,其中每一行都是numpy array:

df=pd.DataFrame({'UNIGRAMA': {0: array(['on', 'line', ' atenção'], dtype='<U13'),
1: array(['futurar', ' filhar', ' preparar'], dtype='<U12'),
2: array(['compromisso', ' educação', ' student'], dtype='<U11')}})
UNIGRAMA
0   [on, line, atenção]
1   [futurar, filhar, preparar]
2   [compromisso, educação, student]

我想对这个numpy array的每个单词应用一个dictionary(如果这个单词不存在,我需要保留原来的单词(。而且它必须只带来最终结果中的唯一单词

这是我的dictionary:

dicionario2 = {'compromisso': 'commitment',
'filhar' : 'student', 
'futurar' : 'futuro',
'on'   : 'on-line',
'line' : 'on-line'}

我想要的结果:

unique
0   [on-line, atenção]
1   [futuro, student, preparar]
2   [commitment, educação, student]

到目前为止我尝试过的:

df['UNIGRAMA'].explode().replace(dicionario2, regex = True).groupby(level=0).agg({'unique'})

但它带来的不仅仅是独特的词语。

提前感谢

尝试通过explode()replace()groupby():

df['UNIGRAMA']=df['UNIGRAMA'].explode().replace(dicionario2, regex=True).groupby(level=0).apply(np.unique)

df:的输出

UNIGRAMA
0   [commitment, aprendizagem, atenção]
1   [futuro, preocupação, preparar]
2   [commitment, educação, student]

我使用的示例数据帧:

from numpy import array
df=pd.DataFrame({'UNIGRAMA': {0: array(['commitment', 'aprendizagem', 'atenção'], dtype='<U13'),
1: array(['futuro', 'preocupação', 'preparar'], dtype='<U12'),
2: array(['compromisso', 'educação', 'student'], dtype='<U11')}})

最新更新