对 Numpy 数据框进行排序并删除重复行 Python

Sorting Numpy data frames and removing duplicate rows Python

我正在尝试将所有 3 个 pandas 数据帧组合在一起 data, data2, data3 根据 date 以同步顺序对它们进行排序,并删除所有重复行。相同的 date 值不能超过 1 个,但是 data2data3 中都存在“2021-10-21 00:03:00”的日期,因此应该只有输出中存在单行。我可以向男女同校添加什么才能达到 Expected Output?

代码:

import pandas as pd 

data = {'Unix Timesamp': [1444311600000, 1444311660000, 1444311720000], 
        'date': ['2015-10-08 13:40:00', '2015-10-08 13:41:00', '2015-10-08 13:42:00'],
        'Symbol': ['BTCUSD', 'BTCUSD', 'BTCUSD'],
        'Open': [10384.54, 10389.08,10387.15],
        'High': [10389.08, 10389.08, 10388.36],
        'Low': [10340.2, 10332.8, 10385]}

data2 = {'Unix Timesamp': [1634774460000, 1634774520000, 1634774580000], 
        'date': ['2021-10-21 00:01:00', '2021-10-21 00:02:00', '2021-10-21 00:03:00'],
        'Symbol': ['BTCUSD', 'BTCUSD', 'BTCUSD'],
        'High': [4939.97, 4961.75, 4964.33],
        'Open': [4939.95, 4959.18,4964.33]}

data3 = {'Unix Timesamp': [1634774640000, 1634774640000], 
        'date': ['2021-10-21 00:03:00', '2021-10-21 00:04:00'],
        'High': [4964.33, 4867.33],
        'Symbol': ['BTCUSD', 'BTCUSD'],
        'Open': [4964.33, 4800.2]}

dataset = pd.DataFrame.from_dict(data)
dataset2 = pd.DataFrame.from_dict(data2)
dataset3 = pd.DataFrame.from_dict(data3)

dataset.drop('Low',1).append([dataset2, dataset3], ignore_index=True).drop_duplicates()

输出:

预期输出(输出中的第 6 行不应存在):

下面的代码应该可以满足您的要求。确保在 .drop_duplicates() 方法的括号内包含 'subset=['date']'。示例:.drop_duplicates(子集=['date'])

dataset.drop('Low',1).append([dataset2, dataset3],ignore_index=True).drop_duplicates(subset=['date'])

有关详细信息,请参阅 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html