Сравните два кадра данных и найдите строки, которых нет во втором, сравнив их по одному столбцу. - PullRequest
0 голосов
/ 29 января 2020

I sh, чтобы взять 2 кадра данных с одинаковыми столбцами, сравнить их на основе 1 столбца и создать новый кадр данных строк, которые не появляются во втором кадре данных. Вот фрагмент данных, в котором также напечатаны типы. Я также попробовал pd.to_datetime(df['Date']) на них, чтобы убедиться, что я сравниваю яблоки с яблоками.

df1

Date       object
Open      float64
High      float64
Low       float64
Close     float64
Volume      int32
dtype: object
            Date    Open    High     Low   Close   Volume
0     2000-01-04   24.35   24.35   23.55   23.70  1372800
1     2000-01-05   23.80   23.90   23.38   23.38  2746800
2     2000-01-06   23.48   23.82   23.38   23.70  2243200
3     2000-01-07   23.60   23.60   23.12   23.45  1610400
4     2000-01-10   23.48   23.48   22.90   22.90  1728600

df2

Date      object
Open      object
High      object
Low       object
Close     object
Volume     int64
dtype: object
            Date    Open    High     Low   Close   Volume
0     2000-01-04   24.35   24.35   23.55   23.70  1372800
1     2000-01-05   23.80   23.90   23.38   23.38  2746800
2     2000-01-06   23.48   23.83   23.38   23.70  2243200
3     2000-01-07   23.60   23.60   23.13   23.45  1610400

ВЫХОД

            Date    Open    High     Low   Close   Volume
4     2000-01-10   23.48   23.48   22.90   22.90  1728600

Код, который я использую:

df1[~df1.Date.isin(df2.Date.values)]

Это работает, когда я загружаю df1 из .csv, однако, когда я беру его с веб-сайта, он выдает все строки. Я не понимаю, как сравнение не видит даты одинаковыми.

Я сохранил их как .csv и сравнил их, и я не вижу разницы.

Любая помощь в диагностике это будет оценено.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...