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%相同的列名称和顺序,因为这里不是对齐(什么应该好还是不好,取决于数据)