有一个类似的question,但我正在寻找的输出是不同的。
我有一个数据框,其中列出了所有单词(列)及其在每个文档中出现的编号(行)。
它看起来像这样:
{'orange': {0: '1',
1: '3'},
'blue': {0: '0',
1: '2'}}
输出应以这种方式“重新创建”原始文档,以单词的形式:
corpus = [
['orange'],
['orange', 'orange', 'orange', 'blue', 'blue']]
该怎么做?
答案 0 :(得分:2)
如果您想在最后使用数据框,则可以执行以下操作:
import pandas as pd
from collections import defaultdict
data = {'orange': {0: '1',
1: '3'},
'blue': {0: '0',
1: '2'}}
results = defaultdict(list)
for color, placement in data.items():
for row, count in placement.items():
values = results[row]
values.extend(int(count) * [color])
df = pd.DataFrame.from_dict(results, orient='index')
如果您只想要一个列表列表,请执行以下操作:
[v for row, v in results.items()]
代替df
构建