Python 从数据框中删除行并重置索引
我试图从两个不同的数据帧中减去一些值,但它们的大小不同。我可以使用df.drop()使它们具有相同的形状。但是,这不会重置行索引。下面是示例代码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
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)