我需要字符的共现数据框
I need co-occurrence dataframe of characters
import pandas as pd
corpus = pd.DataFrame([[1, 'A B C A D B A'], [2, 'B A B B C B A']], columns=['id',
'sequence'])
corpus
预期输出
A B C D
1 3 2 1 1
2 2 4 1 0
我有一个如上所示的数据框。我需要计算每个字符的共现。
您可以 split
字符串 explode
,并计算每组的值:
(corpus.set_index('id')['sequence']
.str.split(' ')
.explode()
.groupby(level='id').value_counts()
.unstack(level='sequence', fill_value=0)
)
输出:
sequence A B C D
id
1 3 2 1 1
2 2 4 1 0
尝试 split
然后 explode
和 str.get_dummies
out = corpus.set_index('id').sequence.str.split(' ').explode().str.get_dummies().groupby(level=0).sum()
A B C D
1 3 2 1 1
2 2 4 1 0
import pandas as pd
corpus = pd.DataFrame([[1, 'A B C A D B A'], [2, 'B A B B C B A']], columns=['id',
'sequence'])
corpus
预期输出
A B C D
1 3 2 1 1
2 2 4 1 0
我有一个如上所示的数据框。我需要计算每个字符的共现。
您可以 split
字符串 explode
,并计算每组的值:
(corpus.set_index('id')['sequence']
.str.split(' ')
.explode()
.groupby(level='id').value_counts()
.unstack(level='sequence', fill_value=0)
)
输出:
sequence A B C D
id
1 3 2 1 1
2 2 4 1 0
尝试 split
然后 explode
和 str.get_dummies
out = corpus.set_index('id').sequence.str.split(' ').explode().str.get_dummies().groupby(level=0).sum()
A B C D
1 3 2 1 1
2 2 4 1 0