合并数据集并格式化它们 Pandas Python
Combining datasets and formatting them Pandas Python
我怎样才能创建一个结合 data1, data2 and data3
的函数。该代码必须组合与所有 3 个数据集共有的所有列,因此 data1
中的 Low
与 data2/3
不常见,因此它将被排除在外。数据按同步顺序排序,每一行必须是唯一的,任何两个日期都不能相同。在 data2
data3
中,包含日期的行:2021-10-21 00:03:00
但输出中只有该数据的一行,因为它不是唯一的行。我将如何执行此代码?
import pandas as pd
import numpy as np
import functools
data1 =pd.read_csv('dataset1.csv', low_memory=False)
data2 =pd.read_csv('dataset2.csv', low_memory=False)
data3 ==pd.read_csv('dataset3.csv', low_memory=False)
数据 1 csv:
Unix Timestamp date Symbol Open High Low
1444311600000 2015-10-08 13:40:00 BTCUSD 10384.54 10389.08 10340.2
1444311660000 2015-10-08 13:41:00 BTCUSD 10389.08 10389.08 10332.8
1444311720000 2015-10-08 13:42:00 BTCUSD 10387.15 10388.36 10385
data2 csv:
Unix Timestamp Date Symbol Open High
1634774460000 2021-10-21 00:01:00 BTCUSD 4939.95 4939.97
1634774520000 2021-10-21 00:02:00 BTCUSD 4959.18 4961.75
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
data3 csv:
Unix Timestamp Date Symbol Open High
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
1634774640000 2021-10-21 00:04:00 BTCUSD 4800.2 4867.47
预期输出:
Unix Timestamp date Symbol Open High
1444311600000 2015-10-08 13:40:00 BTCUSD 10384.54 10389.08
1444311660000 2015-10-08 13:41:00 BTCUSD 10389.08 10389.08
1444311720000 2015-10-08 13:42:00 BTCUSD 10387.15 10388.36
1634774460000 2021-10-21 00:01:00 BTCUSD 4939.95 4939.97
1634774520000 2021-10-21 00:02:00 BTCUSD 4959.18 4961.75
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
1634774640000 2021-10-21 00:04:00 BTCUSD 4800.2 4867.47
使用追加然后drop_duplicates
data1.drop('Low',1).append([data2, data3], ignore_index=True).drop_duplicates()
我怎样才能创建一个结合 data1, data2 and data3
的函数。该代码必须组合与所有 3 个数据集共有的所有列,因此 data1
中的 Low
与 data2/3
不常见,因此它将被排除在外。数据按同步顺序排序,每一行必须是唯一的,任何两个日期都不能相同。在 data2
data3
中,包含日期的行:2021-10-21 00:03:00
但输出中只有该数据的一行,因为它不是唯一的行。我将如何执行此代码?
import pandas as pd
import numpy as np
import functools
data1 =pd.read_csv('dataset1.csv', low_memory=False)
data2 =pd.read_csv('dataset2.csv', low_memory=False)
data3 ==pd.read_csv('dataset3.csv', low_memory=False)
数据 1 csv:
Unix Timestamp date Symbol Open High Low
1444311600000 2015-10-08 13:40:00 BTCUSD 10384.54 10389.08 10340.2
1444311660000 2015-10-08 13:41:00 BTCUSD 10389.08 10389.08 10332.8
1444311720000 2015-10-08 13:42:00 BTCUSD 10387.15 10388.36 10385
data2 csv:
Unix Timestamp Date Symbol Open High
1634774460000 2021-10-21 00:01:00 BTCUSD 4939.95 4939.97
1634774520000 2021-10-21 00:02:00 BTCUSD 4959.18 4961.75
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
data3 csv:
Unix Timestamp Date Symbol Open High
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
1634774640000 2021-10-21 00:04:00 BTCUSD 4800.2 4867.47
预期输出:
Unix Timestamp date Symbol Open High
1444311600000 2015-10-08 13:40:00 BTCUSD 10384.54 10389.08
1444311660000 2015-10-08 13:41:00 BTCUSD 10389.08 10389.08
1444311720000 2015-10-08 13:42:00 BTCUSD 10387.15 10388.36
1634774460000 2021-10-21 00:01:00 BTCUSD 4939.95 4939.97
1634774520000 2021-10-21 00:02:00 BTCUSD 4959.18 4961.75
1634774580000 2021-10-21 00:03:00 BTCUSD 4964.33 4964.33
1634774640000 2021-10-21 00:04:00 BTCUSD 4800.2 4867.47
使用追加然后drop_duplicates
data1.drop('Low',1).append([data2, data3], ignore_index=True).drop_duplicates()