У меня есть два больших фрейма данных (100К строк), у одного есть «значения», у другого есть «типы». Я хочу назначить «тип» из df2 для столбца в df1 на основе глубины. Глубины указаны в столбцах «От» и «До». «Типы» также определяются глубиной «От» и «До». НО они НЕ одинаковые интервалы. Глубина df1 может охватывать несколько типов df2.
Я хочу назначить df2 'types' для df1, и, если есть несколько типов, попробуйте также захватить эту информацию. Пример ниже.
import pandas as pd
import numpy as np
df1=pd.DataFrame(np.array([[1,3,0.001],[3,5,0.005],[5,7,0.002],[7,10,0.001]]),columns=['From', 'To', 'val'])
df2=pd.DataFrame(np.array([[0.0,4,'A'],[4,5,'B'],[5,6,'C'],[6,8,'D'],[8,10,'E']]),columns=['From', 'To', 'Type'])
df1
Out[1]:
From To val
0 1.0 3.0 0.001
1 3.0 5.0 0.005
2 5.0 7.0 0.002
3 7.0 10.0 0.001
df2
Out[2]:
From To Type
0 0 4 A
1 4 5 B
2 5 6 C
3 6 8 D
4 8 10 E
Возможный допустимый вывод:
Out[4]:
From To val Type
0 1 3 0.001 A
1 3 5 0.005 1 unit A,2 units B
2 5 7 0.002 1 unit C,1 unit D
3 7 10 0.001 1 unit D, 3 units E
Процент типов также будет хорошим выводом в типе.
Одним из решений может быть созданиеновый фрейм данных с высоким разрешением «глубины» и прямое заполнение типов, а также выполнение своего рода VLOOKUP для «Кому» и «От».
Я также подумал о возможности создания столбца в каждом df, который является 'установить 'в зависимости от кол.
Возможно объединение или слияние, но сначала необходимо получить совместимые данные.
Не знаю, с чего начать. Надеюсь, что есть хороший способ справиться с этим, у меня в основном та же самая ситуация, что и у этого парня , но я не говорю на 'R' и хотел бы сообщить информацию о нескольких типах.