Python 如何在整个数据帧中添加或减去一行?

Python 如何在整个数据帧中添加或减去一行?,python,pandas,Python,Pandas,我有这样一个数据帧: | a | b | c | 0 | 0 | 0 | 0 | 1 | 5 | 5 | 5 | | a | b | c | 0 | 1 | 2 | 3 | 我有这样一个数据帧行(或系列): | a | b | c | 0 | 0 | 0 | 0 | 1 | 5 | 5 | 5 | | a | b | c | 0 | 1 | 2 | 3 | 我想从整个数据帧中减去该行以获得: | a | b | c | 0 | 1 | 2 | 3 | 1 | 6 |

我有这样一个数据帧:

  | a | b | c |
0 | 0 | 0 | 0 |
1 | 5 | 5 | 5 |
  | a | b | c |
0 | 1 | 2 | 3 |
我有这样一个数据帧行(或系列):

  | a | b | c |
0 | 0 | 0 | 0 |
1 | 5 | 5 | 5 |
  | a | b | c |
0 | 1 | 2 | 3 |
我想从整个数据帧中减去该行以获得:

  | a | b | c |
0 | 1 | 2 | 3 |
1 | 6 | 7 | 8 |
感谢您的帮助。

使用或将一行
数据帧
转换为
系列
-例如,对于第一行:

df = df1.add(df2.iloc[0])
#alternative select by row label
#df = df1.add(df2.loc[0])
print (df)
   a  b  c
0  1  2  3
1  6  7  8
详细信息

print (df2.iloc[0])
a    1
b    2
c    3
Name: 0, dtype: int64
使用或与转换一行
数据帧
系列
-例如,对于第一行:

df = df1.add(df2.iloc[0])
#alternative select by row label
#df = df1.add(df2.loc[0])
print (df)
   a  b  c
0  1  2  3
1  6  7  8
详细信息

print (df2.iloc[0])
a    1
b    2
c    3
Name: 0, dtype: int64

您可以将第二个数据帧转换为numpy阵列:

df1 + df2.values
输出:

   a  b  c
0  1  2  3
1  6  7  8

您可以将第二个数据帧转换为numpy阵列:

df1 + df2.values
输出:

   a  b  c
0  1  2  3
1  6  7  8

我缺少
.iloc[0]
。谢谢我缺少
.iloc[0]
。谢谢可能的解决方案,但必须100%相同的列名称和顺序,因为这里不是对齐(什么应该好还是不好,取决于数据)可能的解决方案,但必须100%相同的列名称和顺序,因为这里不是对齐(什么应该好还是不好,取决于数据)