python pandas“无法设置列不匹配的行”错误

Aru*_*pet 6 python dataframe pandas

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

这是示例DataFrame

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

输出:

    A   B     C
0  a1  b1    c1
1  a2  b2  None
Run Code Online (Sandbox Code Playgroud)

由于缺少 c2,它被替换为None. 这很好,正如预期的那样。

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

newDF.loc[len(newDF)] = ['a3','b3']
Run Code Online (Sandbox Code Playgroud)

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

我如何添加这个额外的行,以便它会自动处理丢失的 c3 withNone或 NaN?

tim*_*geb 9

一种选择是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
Run Code Online (Sandbox Code Playgroud)