我有一个由两列组成的数据帧:ID
和TEXT
。假设数据如下:
ID TEXT
1 The farmer plants grain. The fisher catches tuna.
2 The sky is blue.
2 The sun is bright.
3 I own a phone. I own a book.
我正在使用nltk对TEXT
列执行清理,因此需要将TEXT
列转换为列表:
执行清理(标记化、删除特殊字符和删除非索引字)后,输出为“列表列表”,如下所示:
[[['farmer', 'plants', 'grain'], ['fisher', 'catches', 'tuna']],
[['sky', 'blue']],
[['sun', 'bright']],
[['I', 'own', 'phone'], ['I', 'own', 'book']]]
我知道如何将列表恢复到pandas数据框中,但是如何将列表列表返回到pandas数据框中,而ID列仍然分配给文本?我想要的输出是:
ID TEXT
1 'farmer', 'plants', 'grain'
1 'fisher', 'catches', 'tuna'
2 'sky', 'blue'
2 'sun', 'bright'
3 'I', 'own', 'phone'
3 'I', 'own', 'book'
我假设它与Python数据结构之间的转换有关,但我不确定从哪里开始。这里的具体工作产品不如dataframe-->;native Python data structure--gt;do something to native Python data structure--gt;dataframe(原始属性不变)的概念重要。在
非常感谢你们提供的任何见解!如果我能改进我的问题,请告诉我!在
Pandas数据帧提供了许多快速的全面操作,但是如果数据没有被填充到数据框中,尤其是刚开始的时候,获得数据确实要容易得多。如果你要和nltk合作,我当然推荐你。要保持文本和id在一起,请将数据帧转换为元组列表。如果数据帧实际上只有两个有意义的列,可以这样做:
现在,如果你想在不丢失id的情况下处理句子,可以使用这样的双变量循环。(这将创建您请求的额外行):
^{pr2}$您要做什么取决于您的应用程序;您可能会创建一个包含两个元素元组的新列表。如果你只是在应用一个转换,使用列表理解。例如:
将元组列表转换回数据帧非常简单:
相关问题 更多 >
编程相关推荐