2013-12-22 2 views
3

Давайте скажем, у меня есть dataframe, и я хочу, чтобы найти все отрицательные значения столбца, например:Карта индекс строки обратно в исходную индексируется dataframe

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

Теперь у меня есть новый dataframe, из моего исходного индексированного кадра данных. Этот блок данных может содержать 7 строк.

Мой вопрос: как мне сопоставить эти 7 строк с исходным фреймворком данных?

дает мне третий ряд. Но какая строка в моем исходном фрейме соответствует ему? Это строка 59? Как я могу узнать, что индекс «2» на мой взгляд соответствует индексу «59» в моем исходном фрейме? И как мне вернуться? «2» -> «59», и как узнать, что «59» -> «2»?

ответ

3

Чтобы получить отображение:

df_negAssets.index 

> Как я могу узнать, что индекс «2» в новом dataframe, соответствует индекс «59» в моем первоначальном dataframe?

df_negAssets.index[2] == 59 

> А как мне вернуться? ... и как узнать, что «59» -> «2»?

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

Вы уверены, что вам нужно? Помните, вы можете использовать df_negAssets[59].

Кстати, df_negAssets не является видом. Это новый DataFrame. Если вы берете целую колонку или фрагмент (df[0][x:y:z]), то это может быть представление. Когда вы используете такое состояние, как <0, он создает новый DataFrame.

+0

Спасибо, я исправил свой пост. Я не собираюсь использовать это, но, из любопытства, как мне отображать между срезом и фреймворком данных в обоих направлениях? Это сложно сделать, а затем пропустить этот вопрос. –

Смежные вопросы