Pandas添加全零数值的行

19
如果我有以下的数据框:
          A       B       C       D       E

1         1       2       0       1       0
2         0       0       0       1      -1
3         1       1       3      -5       2
4        -3       4       2       6       0
5         2       4       1       9      -1
6         1       2       2       4       1

我该如何在数据框的末尾添加一行,使其所有值都为"0(零)"?

期望输出为:

          A       B       C       D       E

1         1       2       0       1       0
2         0       0       0       1      -1
3         1       1       3      -5       2
4        -3       4       2       6       0
5         2       4       1       9      -1
6         1       2       2       4       1
7         0       0       0       0       0

你能帮我解决这个问题吗?

2个回答

20

使用Setting with enlargement功能:

df.loc[len(df)] = 0
print (df)
   A  B  C  D  E
1  1  2  0  1  0
2  0  0  0  1 -1
3  1  1  3 -5  2
4 -3  4  2  6  0
5  2  4  1  9 -1
6  0  0  0  0  0

或者使用填充为0且索引为DataFrame列的Series与DataFrame.append方法:

DataFrame.append
df = df.append(pd.Series(0, index=df.columns), ignore_index=True)


5
使用当前数据框的形状和列列表创建一个零值的新数据框,然后追加:
df = pd.DataFrame([[1, 2], [3, 4],[5,6]], columns=list('AB'))
print(df)
   A  B
0  1  2
1  3  4
2  5  6

df2 = pd.DataFrame([[0]*df.shape[1]],columns=df.columns)
df = df.append(df2, ignore_index=True)
print(df)
   A  B
0  1  2
1  3  4
2  5  6
3  0  0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接