熊猫添加所有值为零的行

Sal*_*lih 11 python dataframe pandas

如果我有以下数据框:

          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
Run Code Online (Sandbox Code Playgroud)

如何添加所有值为“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
Run Code Online (Sandbox Code Playgroud)

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

jez*_*ael 15

使用放大设置:

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
Run Code Online (Sandbox Code Playgroud)

或者DataFrame.append用以下的列Series填充0和索引DataFrame:

df = df.append(pd.Series(0, index=df.columns), ignore_index=True)
Run Code Online (Sandbox Code Playgroud)


Jus*_* C. 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
Run Code Online (Sandbox Code Playgroud)