ValueError:传递值的形状是空的,索引意味着空的

2024-04-27 09:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用Flairhttps://github.com/flairNLP/flair对印度尼西亚语的句子列表进行词性标注

结果是list,名称为pos

['Sejarah <NOUN> perkembangan <NOUN> ilmu <NOUN> ekonomi <NOUN> Adam <PROPN> Smith <PROPN> sering <ADV> disebut <VERB> sebagai <ADP> yang <PRON> pertama <NUM> mengembangkan <VERB> ilmu <NOUN> ekonomi <NOUN> pada <ADP> abad <NOUN> 18 <NUM> sebagai <ADP> satu <DET> cabang <NOUN> tersiri <NOUN> dalam <ADP> ilmu <NOUN> pengetahuan <NOUN>', 'Melalui <ADP> karya <NOUN> besarnya <NOUN> General <PROPN> Theory <PROPN> Employment <PROPN> Interest <PROPN> and <PROPN> Money <PROPN> yang <PRON> menyatakan <VERB> bahwa <SCONJ> pasar <NOUN> tidak <PART> selalu <ADV> mampu <ADV> menciptakan <VERB> keseimbangan <NOUN> dan <CCONJ> karena <SCONJ> itu <DET> intervensi <NOUN> pemerintah <NOUN> harus <ADV> dilakukan <VERB> agar <SCONJ> distribusi <NOUN> ber <VERB> daya <NOUN> mencapai <VERB> sasarannya <NOUN>']

我想将该列表转换为dataframe,如下所示:

                     Text      Label
0                 Sejarah     NOUN
1            perkembangan     NOUN
2                    ilmu     NOUN
3                 ekonomi     NOUN
4                    Adam     PROPN
5                   Smith     PROPN
6                  sering     ADV
7                 disebut     VERB
8                 sebagai     ADP 
9                    yang     PRON 
10                pertama     NUM
...                   ...     ...
...                   ...     ...

我试过:

df = pd.DataFrame(pos, columns=['Text', 'Label'])

但我有一个错误:

ValueError: Shape of passed values is (6921, 1), indices imply (6921, 2)

我的代码怎么了


Tags: pos列表numnounyangverbadpadv
1条回答
网友
1楼 · 发布于 2024-04-27 09:40:29

你可以做:

# convert string to list
d = d[0].split()

# create dataframe
df = pd.DataFrame(zip(d[::2], d[1::2]), columns=['Text', 'Label']) 

# modify label col
df['Label'] = df['Label'].str.replace('\W','').str.strip()

print(df)

             Text  Label
0         Sejarah   NOUN
1    perkembangan   NOUN
2            ilmu   NOUN
3         ekonomi   NOUN
4            Adam  PROPN
5           Smith  PROPN
6          sering    ADV
7         disebut   VERB
8         sebagai    ADP
9            yang   PRON
10        pertama    NUM
11  mengembangkan   VERB
12           ilmu   NOUN
13        ekonomi   NOUN
14           pada    ADP
15           abad   NOUN
16             18    NUM
17        sebagai    ADP
18           satu    DET
19         cabang   NOUN
20        tersiri   NOUN
21          dalam    ADP
22           ilmu   NOUN
23    pengetahuan   NOUN

对于字符串列表,您可以执行以下操作:

# d is list of strings
d = [x.split() for x in d]

df = pd.concat([pd.DataFrame(zip(x[::2], x[1::2]), columns=['Text', 'Label']) for x in d], ignore_index=True)

相关问题 更多 >