在向数据集添加新行时遇到问题。

这是示例DataFrame

column_names = ['A','B','C']
items = [['a1','b1','c1'],['a2','b2']]
newDF = pd.DataFrame(items,columns=column_names)
print(newDF)


输出:

    A   B     C
0  a1  b1    c1
1  a2  b2  None


由于缺少c2,因此将其替换为None。很好,符合预期。

现在,如果我继续向现有的DataFrame添加类似的行,如下所示:

newDF.loc[len(newDF)] = ['a3','b3']


我收到错误“无法设置列不匹配的行”。

如何添加此额外的行,以便使用None或NaN自动处理缺少的c3?

最佳答案

一种选择是DataFrame.append

>>> new_row = ['a3', 'b3']
>>> newDF.append(pd.Series(new_row, index=newDF.columns[:len(new_row)]), ignore_index=True)
    A   B     C
0  a1  b1    c1
1  a2  b2  None
2  a3  b3   NaN

关于python - python pandas“无法设置列不匹配的行”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53569997/

10-12 17:10