我有以下的数据帧:减法的从数据帧的不同部分两个系列
SID AID START END
71 1 1 -11136 -11122
74 1 1 -11121 -11109
78 1 1 -11034 -11014
79 1 2 -11137 -11152
83 1 2 -11114 -11127
86 1 2 -11032 -11038
88 1 2 -11121 -11002
我想要做与AID == 1和AID == 2的START元件的减法中,为了,使得预期的结果将是:
-11136 - (-11137) = 1
-11121 - (-11114) =-7
-11034 - (-11032) =-2
Nan - (-11002) = NaN
所以我提取两组:
values1 = group.loc[group['AID'] == 1]["START"]
values2 = group.loc[group['AID'] == 2]["START"]
与followi NG结果:
71 -11136
74 -11121
78 -11034
Name: START, dtype: int64
79 -11137
83 -11114
86 -11032
88 -11002
Name: START, dtype: int64
,并做了一个简单的减法:
values1-values2
但是我把所有的NaN:
71 NaN
74 NaN
78 NaN
79 NaN
83 NaN
86 NaN
我注意到,如果我使用相同的AID组数据(例如, START-END),我得到了正确的答案。只有当我“混合”援助组时,我才能得到NaN。我刚刚开始使用熊猫,但我显然在这里失去了一些东西。任何建议?
尝试: values1.values - values2.values –
你缺少的是熊猫做内在的数据对齐。这意味着熊猫将根据两个数据帧的索引进行相减。由于行索引不对齐,所以您将得到一个数字减NaN或NaN减一个数字,那些相等的NaN。 –
您的预期产出是什么? –