Python 熊猫这种df.drop()行为的可能原因是什么?

Python 熊猫这种df.drop()行为的可能原因是什么?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据帧df,其中df2是一个子集。当我尝试根据df2的索引值在df中删除行时,我得到了一些有趣的数学结果,如下所示。是什么导致了这种行为?我是否完全误解了.index的工作原理 print(df.index) Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 353, 354, 355, 356, 357, 358, 359, 360, 361, 362], dtype='int64', length=4748) 根据

我有一个熊猫数据帧
df
,其中
df2
是一个子集。当我尝试根据
df2
的索引值在
df
中删除行时,我得到了一些有趣的数学结果,如下所示。是什么导致了这种行为?我是否完全误解了
.index
的工作原理

print(df.index)
    
Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 
    353, 354, 355, 356, 357, 358, 359, 360, 361, 362], dtype='int64', length=4748)

根据编号系统,似乎有多条记录具有。如果是这种情况,例如,删除
106
,因为它位于
df2
中,可能会导致从
df
中删除多个记录。检查数据帧中的重复项,至少是索引中的重复项。

根据编号系统,似乎有多条记录具有相同的编号。如果是这种情况,例如,删除
106
,因为它位于
df2
中,可能会导致从
df
中删除多个记录。检查数据帧中的重复项,至少是索引中的重复项。

在这种情况下,什么是
退单?@Yehuda抱歉。编辑。这就是df2的实际名称(已退款的购买)。到底是什么让人困惑?你的索引似乎不是唯一的,所以除非你包括计数,否则数学就不会加起来。在这种情况下,
退单是什么?@Yehuda抱歉。编辑。这就是df2的实际名称(已退款的购买)。到底是什么让人困惑?你的索引似乎不是唯一的,所以除非你包括countsPerfect,否则数学就不会加起来。谢谢你花时间看这个。我正在从多个CSV文件构建一个数据帧,并使用
pd.concat()
添加
ignore\u index=True
参数将其完美修复。谢谢你花时间看这个。我正在从多个CSV文件构建一个数据帧,并使用
pd.concat()
添加
ignore\u index=True
参数将其完美修复。
print(df2.index)
    
Int64Index([ 0, 2, 5, 7, 9, 10, 12, 15, 17, 18, ... 
    106, 123, 130, 136, 196, 217, 220, 227, 232, 237], dtype='int64', length=448)
df = df.drop(index = df2.index)
print(df.index)

Int64Index([ 63, 65, 67, 74, 76, 78, 83, 84, 85, 87, ... 
    352, 353, 354, 355, 356, 357, 358, 359, 360, 361], dtype='int64', length=2116)