Удалить строку из кадра данных и сбросить индекс - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь вычесть некоторые значения из двух разных фреймов данных, но они имеют разные размеры. Я могу сделать их обоих одинаковой формы с помощью df.drop (). Однако это не сбрасывает индекс строки. Пример кода ниже.

df1

   Value
 0  1.5
 1  2
 2  1
 3  5
 4  3

 df2

    Value 
 0  2
 1  6
 2  5
 3  5
 4  6

 df1.drop(df1.index[0]
 df2.drop[df2.index[4]


 df1

     Value
 1   2
 2   1
 3   5
 4   3

 df2


     Value
 0   2
 1   6 
 2   5
 3   5

 df1['Value']-df2['Value'] 

 0   NaN
 1   -4
 2   -4
 3   0
 4   NaN

Значения вычитаются на основе индекса строки, а не фактической позиции значений. Как мне это исправить?

1 Ответ

1 голос
/ 03 марта 2020

Если длина обеих строк одинакова, можно вычесть массив numpy, чтобы избежать выравнивания значений индекса друг друга:

df1['Value']-df2['Value'].to_numpy()
#oldier pandas versions
#df1['Value']-df2['Value'].values

Или создать одинаковый индекс в обоих Series:

df1['Value'].reset_index(drop=True)-df2['Value'].reset_index(drop=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...