【发布时间】:2018-07-23 07:18:09
【问题描述】:
我正在努力解决 Pandas 中的一个问题。基本上我想将一个新列(来自文档数据框)添加到一个更大的数据框(语料库数据框),并且这两个数据框具有不同的形状和索引。所以我知道我必须映射两者的索引然后添加它。我一直在尝试不同的东西(合并,定位......),但我没有找到解决方案。这里是例子:
一方面,我有一个包含语料库中所有标记的通用数据框(corpus-dataframe):
|-------|------------------|
| token | mean_freq_corpus |
|-------|------------------|
| de | 35 |
|-------|------------------|
| el | 29 |
|-------|------------------|
| la | 15 |
|-------|------------------|
| en | 10 |
|-------|------------------|
| se | 5 |
|-------|------------------|
另一方面,我有一堆数据框,其中还包含有关此令牌在每个特定文档(文档数据框)中的频率的信息。喜欢:
|-------|------------------|
| token | Doc_1 |
|-------|------------------|
| de | 20 |
|-------|------------------|
| se | 10 |
|-------|------------------|
|-------|------------------|
| token | Doc_2 |
|-------|------------------|
| el | 15 |
|-------|------------------|
| la | 12 |
|-------|------------------|
|-------|------------------|
| token | Doc_3 |
|-------|------------------|
| de | 30 |
|-------|------------------|
| el | 20 |
|-------|------------------|
| la | 12 |
|-------|------------------|
| en | 10 |
|-------|------------------|
如您所见,形状不同,我从中获得信息的标记也不同,所以我不能不考虑索引就将这些信息添加到 general_frequency 表中。最后我想要的是:
|-------|------------------|-----|-----|-----|
| token | mean_freq_corpus |Doc_1|Doc_2|Doc_3|
|-------|------------------|-----|-----|-----|
| de | 35 | 20 | 0 | 30 |
|-------|------------------|-----|-----|-----|
| el | 29 | 0 | 10 | 20 |
|-------|------------------|-----|-----|-----|
| la | 15 | 0 | 15 | 12 |
|-------|------------------|-----|-----|-----|
| en | 10 | 0 | 0 | 10 |
|-------|------------------|-----|-----|-----|
| se | 5 | 10 | 0 | 0 |
|-------|------------------|-----|-----|-----|
我可以迭代不同的文档数据帧并使用 df.at[index,column] 将值附加到语料库数据帧中,但我想知道是否还有其他可能使用 map、lambda 或类似的东西。
请考虑到示例已简化,每个表有几千个,而我有几千个这样的文档表。谢谢!
【问题讨论】: