小编Ale*_*tin的帖子

将Python列表转换为networkx图

目前我有一个清单:

[['???? ????', 10, '????'],
 ['???? ????', 10, '????', 5, '?????'],
 ['???? ????', 10, '????', 3, '?????'],
 ['???? ????', 10, '????', 3, '?????', 1, '??????']]
Run Code Online (Sandbox Code Playgroud)

我需要以某种方式将其转换为Networkx边缘,其中单词对应该成为图形的节点,并且成为权重之间的整数:

G = nx.Graph()
G.add_edge('???? ????', '????', weight=10)
G.add_edge('????', '?????', weight=5)
G.add_edge('????', '?????', weight=3)
G.add_edge('?????', '??????', weight=1)
Run Code Online (Sandbox Code Playgroud)

目前我被困,没有想法.任何帮助,将不胜感激!

python list networkx python-3.x

5
推荐指数
1
解决办法
294
查看次数

在嵌套列表中拆分字符串

我有一个这样的列表:

 lst = [['one two', 'three'], ['four five', 'six']]
Run Code Online (Sandbox Code Playgroud)

我需要做:

lst = [['one', 'two', 'three'], ['four', 'five', 'six']]
Run Code Online (Sandbox Code Playgroud)

试过 ([i[0].split() for i in lst]) 但它只给出了 [['one', 'two'], ['four', 'five']] 如何管理它的任何想法?提前致谢!

python string list

2
推荐指数
1
解决办法
64
查看次数

在 Python 中结合 CountVectorizer 和 ngrams

有一项使用 ngrams 对男性和女性名字进行分类的任务。所以,有一个数据框,如:

    name    is_male
Dorian      1
Jerzy       1
Deane       1
Doti        0
Betteann    0
Donella     0
Run Code Online (Sandbox Code Playgroud)

具体要求是使用

from nltk.util import ngrams
Run Code Online (Sandbox Code Playgroud)

对于这个任务,创建 ngrams (n=2,3,4)

我列了一个名字列表,然后使用了 ngrams:

from nltk.util import ngrams
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()

test_ngrams = []
for name in name_list:
    test_ngrams.append(list(ngrams(name,3)))
Run Code Online (Sandbox Code Playgroud)

现在我需要以某种方式矢量化所有这些以用于分类,我尝试

X_train = count_vect.fit_transform(test_ngrams)
Run Code Online (Sandbox Code Playgroud)

收到:

AttributeError: 'list' object has no attribute 'lower'
Run Code Online (Sandbox Code Playgroud)

我知道这里的列表是错误的输入类型,有人可以解释我应该怎么做,所以我以后可以使用 MultinomialNB,例如。我这样做是否正确?提前致谢!

python nltk scikit-learn countvectorizer

1
推荐指数
1
解决办法
5588
查看次数