Имеются два кадра данных, которые могут иметь совершенно разные схемы, за исключением столбца индекса (в данном случае timestamp
), такого как df1 и df2 ниже:
df1:
timestamp | length | width
1 | 10 | 20
3 | 5 | 3
df2:
timestamp | name | length
0 | "sample" | 3
2 | "test" | 6
Как я могу объединить эти два кадра данных в один, который будет выглядеть примерно так:
df3:
timestamp | df1 | df2
| length | width | name | length
0 | null | null | "sample" | 3
1 | 10 | 20 | null | null
2 | null | null | "test" | 6
3 | 5 | 3 | null | null
Я очень новичокзажечь, так что это может не иметь большого смысла.Но проблема, которую я пытаюсь решить, заключается в следующем: мне нужно объединить эти кадры данных, чтобы позже я мог преобразовать каждую строку в заданный объект.Однако они должны быть упорядочены по отметке времени, поэтому, когда я записываю эти объекты, они располагаются в правильном порядке.
Так, например, с учетом df3
выше, я смогу сгенерировать следующеесписок объектов:
objs = [
ObjectType1(timestamp=0, name="sample", length=3),
ObjectType2(timestamp=1, length=10, width=20),
ObjectType1(timestamp=2, name="test", length=6),
ObjectType2(timestamp=3, length=5, width=3)
]
Возможно, объединение фреймов данных не имеет смысла, но как я могу отсортировать фреймы данных по отдельности и каким-то образом извлечь Row
из каждого из них, упорядоченного по timestamp
в глобальном масштабе?
PS: обратите внимание, что я повторил length
в обоих кадрах данных.Это было сделано специально для того, чтобы проиллюстрировать, что они могут иметь столбцы с одинаковым именем и типом, но представлять совершенно разные данные, поэтому объединение схемы не представляется возможным.