Python 从数据框中删除行并重置索引

Python 从数据框中删除行并重置索引,python,pandas,dataframe,Python,Pandas,Dataframe,我试图从两个不同的数据帧中减去一些值,但它们的大小不同。我可以使用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

我试图从两个不同的数据帧中减去一些值,但它们的大小不同。我可以使用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

将根据行的索引减去值,而不是根据值的实际位置。如何解决此问题?

如果两行的lenfth相同,则可以通过numpy数组进行减去,以避免索引值彼此对齐:

df1['Value']-df2['Value'].to_numpy()
#oldier pandas versions
#df1['Value']-df2['Value'].values
或者在两个
系列中创建相同的索引:

df1['Value'].reset_index(drop=True)-df2['Value'].reset_index(drop=True)