Сравнение пустых фреймов данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сравнение пустых фреймов данных

Сообщение Anonymous »

У меня есть функция extract_redundant_values для извлечения избыточных строк из кадра данных pandas. Я тестирую его, запуская in_df для создания out_df. Затем я сравниваю это с ожидаемым результатом ожидаемого_out_df. Кажется, они имеют одинаковый индекс, столбцы и значения, но не считаются равными согласно pd.DataFrame().equals():

Код: Выделить всё

import numpy as np
import pandas as pd

def extract_redundant_values(df, col):
unique_df = df.drop_duplicates(subset=[col],
keep = False)
redundant_df = df[~df.index.isin(unique_df.index)]
return redundant_df

# =============================================================================
# setup
# =============================================================================
expected_columns = ['Col1', 'Col2', 'Col3']
in_df = pd.DataFrame(data = [[1, 2, 3],
[4, 6, 6],
[7, 8, 9]],
columns = expected_columns)

# =============================================================================
# run
# =============================================================================
out_df = extract_redundant_values(df = in_df,
col = "Col1")

# =============================================================================
# compare
# =============================================================================
expected_out_df = pd.DataFrame(columns = expected_columns)

#same values, index and dataframe
assert out_df.columns.equals(expected_out_df.columns) #fine
assert out_df.index.equals(expected_out_df.index) #fine
assert np.array_equal(expected_out_df.values, out_df.values) #fine

#not the same for some other reason...
assert out_df.equals(expected_out_df) #assertion error
Я также пробовал сравнивать два пустых фрейма данных с одинаковыми столбцами, и они были в порядке, как и ожидалось, поэтому я не понимаю, почему out_df и ожидаемый_out_df считается другим:

Код: Выделить всё

expected_columns = ['Col1', 'Col2', 'Col3']
eg_df1 = pd.DataFrame(columns = expected_columns)
eg_df2 = pd.DataFrame(columns = expected_columns)
assert eg_df1.equals(eg_df2) #fine
Может ли кто-нибудь объяснить?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... dataframes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сравнение пустых фреймов данных
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить модульное тестирование сценариев AWS Glue с использованием pytest, динамических фреймов и фреймов данных?
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Получение пустых фреймов данных после очистки веб-страниц из Википедии
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Получение пустых фреймов данных после очистки веб-страниц из Википедии
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Сравнение фреймов данных с двумя разными количествами столбцов
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»