在Pandas数据框中的多行中添加不同的类别

时间:2018-12-02 19:47:47

标签: python pandas jupyter-notebook

我有三个有数百行的文档。我想将它们添加到具有不同名称类别的数据框中。我正在尝试以下代码。但是,尽管我能够合并数据框中的文档,但无法将唯一名称归于类别。

with open('fdi.txt') as g:
    fdi = g.read()
with open('gdp.txt') as g:
    gdp= g.read()
with open('gni.txt') as g:
    gni= g.read()    
df = pd.DataFrame({'text': fdi + gdp + gni, 
                      'categories': ['India', 'Israel', 'Fiji']}, index=[0])

谢谢。

1 个答案:

答案 0 :(得分:1)

如果不查看fdi,gdp和gni包含的样本数据以及所需输出的样例,很难回答您的问题。但是,正如您在纺织品中提到的“行”一样,您有三个类别,我假设您希望每个类别都属于每个文件内容。

因此,假设文本文件包含数据行,我们可以在换行符\n上拆分它们,然后根据相关文件包含的行数来加长类别列表。例如。 ['India']*len(fdi.split('\n'))

如果以上假设正确,那么您应该可以使用以下代码:

df = pd.DataFrame({'text': fdi.split('\n')+gdp.split('\n')+gni.split('\n'),
          'Categories':['India']*len(fdi.split('\n'))+
         ['Israel']*len(gdp.split('\n'))+
         ['Fiji']*len(gni.split('\n'))})

如果这不是您想要的,请添加一些文本文件的示例内容和所需的输出。