将行索引映射回原始索引数据帧

时间:2013-12-22 19:31:38

标签: python pandas

我们假设我有一个数据框,我想查找列的所有负值,如下所示:

df_negAssets = df_original[df_original["assets"] < 0]

现在,我的原始索引数据框中有一个新的数据框。此数据框可能包含7行。

我的问题是:如何将这7行映射到原始数据帧?

df_negAssets.iloc(2) 

给了我第三排。但是我原始数据帧中的哪一行对应于?是第59行吗?如何在我的视图中找到索引“2”,对应于原始数据框中的索引“59”?我该怎么回去? “2” - &gt; “59”,以及如何找出“59” - &gt; “2”?

1 个答案:

答案 0 :(得分:3)

获取映射:

df_negAssets.index

&GT;如何在新数据框中找出索引“2”,对应于原始数据框中的索引“59”?

df_negAssets.index[2] == 59

&GT;我该怎么回去? ......以及如何找出“59” - &gt; “2”?

numpy.where(df_negAssets.index == 59)[0][0] == 2

你确定需要吗?请记住,您可以使用df_negAssets[59]

顺便说一下,df_negAssets不是视图。这是一个新的DataFrame。如果您获取整个列或切片(df[0][x:y:z]),则它可以是视图。当您使用<0之类的条件时,它会创建一个新的DataFrame。