我有 4 个用于 4 份报纸(newspaper1、newspaper2、newspaper3、newspaper4])的数据框,其中有一个作者姓名列。
现在我想将这 4 个数据框合并为一个,它有 5 列:作者和报纸 1、报纸 2、报纸 3、报纸 4,其中包含 1/0 值(1 代表为该报纸撰写的作者)
import pandas as pd
listOfMedia =[newspaper1,newspaper2,newspaper3,newspaper4]
merged = pd.DataFrame(columns=['author','newspaper1','newspaper2', 'newspaper4', 'newspaper4'])
而这个循环做我想要的(用名称填充合并的df作者列):
for item in listOfMedia:
merged.author = item.author
我不知道如何用 1/0 值填充报纸栏...
for item in listOfMedia:
if item == newspaper1:
merged['newspaper1'] = '1'
elif item == newspaper2:
merged['newspaper2'] = '1'
elif item == newspaper3:
merged['newspaper3'] = '1'
else:
merged['newspaper4'] = '1'
我不断收到错误
在处理上述异常的过程中,发生了另一个异常: TypeError: attrib() got an unexpected keyword argument 'convert' 试图用谷歌搜索该错误,但没有帮助我确定问题所在。我在这里想念什么?我还认为必须有更聪明的方法来填充报纸/作者矩阵,但似乎连这种简单的方法都无法弄清楚。我正在使用 jupyter 笔记本。