Python 熊猫:将数据框列合并到列表中

Python 熊猫:将数据框列合并到列表中,python,pandas,merge,nltk,Python,Pandas,Merge,Nltk,我正在用Python(Nltk,Pandas)做一些文本分析,需要一些关于我的数据框架的帮助。我还是一个编程初学者 我有一个PoS标记的数据框(1000行,5列) 列名:编号(此在索引中)、Id、标题、问题、答案 #2 Example rows for Question: [('I', 'PRON'), ('am', 'VERB'), ('working', 'VERB'),('website', 'NOUN')] [('Would', 'VERB'), ('you', 'PRON'), ('

我正在用Python(Nltk,Pandas)做一些文本分析,需要一些关于我的数据框架的帮助。我还是一个编程初学者

我有一个PoS标记的数据框(1000行,5列)

列名:编号(此在索引中)、Id、标题、问题、答案

#2 Example rows for Question:

[('I', 'PRON'), ('am', 'VERB'), ('working', 'VERB'),('website', 'NOUN')]
[('Would', 'VERB'), ('you', 'PRON'), ('recomme...)] 

#2 Example rows for Answers:

[('This', 'DET'), ('is', 'VERB'), ('not', 'ADV'),('website', 'NOUN')] 
[('There', 'DET'), ('is', 'VERB'), ('a', 'DET'...)] 
目标:

1.一个列表(非str),包含所有1000个PoS标记问题

2.一个列表(非str),包含所有1000个PoS标记答案

3.一个列表(非str),包含所有1000个PoS标记的答案和问题

到目前为止,我尝试合并问题列中的所有行,但结果如下:

[[('I', 'PRON'), ('am', 'VERB'),..],[('Would', 'VERB'), 
('you', 'PRON'), ('recomme...)],[(.....)]]  
我想我加入他们是个错误。如何正确执行此操作以获得如下列表:

[('I', 'PRON'), ('am', 'VERB'), ('working', 'VERB'),.....]
对于完整列

在Beneres回答后编辑:

谢谢你的快速回答。 .sum()是我以前使用的方法,但结果是:

print (df['Merged'])
0      [('Does', 'NOUN'), ('anyone', 'NOUN'), ('know'...
1      [('I', 'PRON'), ('am', 'VERB'), ('building', '...
2      [('I', 'PRON'), ('am', 'VERB'), ('wondering', ...
3      [('I', 'PRON'), ('am', 'VERB'), ('working', 'V...
我需要的是

print (df['Merged'])
0      [('Does', 'NOUN'), ('anyone', 'NOUN'), ('know'...
        ('I', 'PRON'), ('am', 'VERB'), ('building', '...
        ('I', 'PRON'), ('am', 'VERB'), ('wondering', ...
        ('I', 'PRON'), ('am', 'VERB'), ('working', 'V...]
编辑2:
已解决

如果我理解得很好,您只需执行以下操作:

df['Merged'] = df['Questions'] + df['Answers']
它将问题和答案合并,然后执行

df.sum()
合并(汇总)所有列表

例如:

import pandas as pd

df = pd.DataFrame({'Q':[[('I', 'PRON'), ('am', 'VERB')], [('You', 'PRON'), ('are', 'VERB')]], 
              'A':[[('This', 'DET'), ('is', 'VERB')], [('Sparta', 'NOUN'), ('bitch', 'VERB')]]})
df['Merged'] = df['A'] +df['Q']
然后:

看起来像这样:

A         [(This, DET), (is, VERB), (Sparta, NOUN), (bit...
Q         [(I, PRON), (am, VERB), (You, PRON), (are, VERB)]
Merged    [(This, DET), (is, VERB), (I, PRON), (am, VERB...
dtype: object

那么我不太确定目标3的格式,如果这不是您想要的,请提供更多详细信息。

我以一种奇怪的方式解决了这个问题,不知道这是否是一个好的解决方案,但它是有效的:

from ast import literal_eval

# sum all columns and replace resulting "][" between columns with ", "
# change str to list with literal_eval
allQuestions = literal_eval(dfQuestion.sum().replace("][", " ,"))
allAnswers = literal_eval(dfAnswers.sum().replace("][", " ,"))
allPosts = allQuestions + allAnswers
我希望这能帮助别人

from ast import literal_eval

# sum all columns and replace resulting "][" between columns with ", "
# change str to list with literal_eval
allQuestions = literal_eval(dfQuestion.sum().replace("][", " ,"))
allAnswers = literal_eval(dfAnswers.sum().replace("][", " ,"))
allPosts = allQuestions + allAnswers