Вы проверили опцию "chunksize" для фрейма данных? Он используется для разбиения больших наборов данных на более мелкие, если они не помещаются в память - вот хорошее объяснение, где они хотят прочитать данные 10G + в кадр данных: http://acepor.github.io/2017/ 08/03 / с использованием-chunksize / .
Вы можете попробовать приведенный ниже код, но я думаю, что вам нужно, чтобы read_csv сначала работал для вашего конкретного формата файла, и выяснил имена / номера столбцов. Вы также можете настроить размер куска; чем больше, тем быстрее. Это все равно будет идти медленно, так как это вложенный цикл.
import pandas as pd
import numpy as np
outfile = 'tab1_tab2_match.dat'
df1 = pd.read_csv('tab1.dat', encoding='ascii', chunksize=1)
col1 = 0
col1_1 = 1
col2 = 0
col2_1 = 1
writeheader= True
mode = 'w'
for cm in df1:
df2 = pd.read_csv('tab2.dat', encoding='ascii', chunksize=100000)
for chunk in df2:
chunk.columns = ['col2', 'col2_1' ]
chunk['del1'] = np.abs(chunk.iloc[:, col1] - cm.iloc[0, col1_1])
chunk['del2'] = np.abs(chunk.iloc[:, col2] - cm.iloc[0, col2_1])
chunk['dist'] = np.sqrt((chunk['del1'] * np.cos(chunk['del2'])) ** 2 + chunk['del2'] ** 2)
tmp = chunk[chunk['dist'] <= 0.00008333]
tmp['col1', 'col1_2'] = cm.iloc[0, [col1, col1_1]]
tmp = tmp ['']
tmp['col2', 'col2_1', 'col1', 'col2_1'].to_csv(outfile, mode=mode, header=writeheader)
mode = 'a'
writeheader = False
Я наконец понял это. На моем холсте я проводил линии указателя (горизонтальный и вертикальный для показа на сетке, где я и значения на том, чтобы уезжать/понимании), оказывается, что, когда тест хита выполнялся, он поражал те строки и остановку. Установкой IsHitTestVisible ко лжи на всей несоответствующей геометрии моя подсказка теперь показывает правильно.
Причина я видел, что мышь ввела/оставила событие, состояла в том, потому что при перемещении курсора, строки перетащат 1 кадр позади и таким образом позволят мыши вводить/оставлять, но не перемещаться.
Это решает мой вопрос.
Если история Usercontrol будет x:Null, то события от нажатия мыши упадут до базового содержания. Можно использовать "Прозрачный", чтобы гарантировать, чтобы события от нажатия мыши перешли к usercontrol.
Это поведение не уникально для usercontrols; это - общее поведение для всех WPF. В Вашем примере принимая у Вас есть заливка на дочерних элементах, необходимо смочь нависнуть над теми и видеть подсказки, которые Вы установили.
У меня была эта проблема первоначально, когда я протестировал в своем корневом холсте, мой прямоугольник не показывал подсказку, когда фон был пустым. Однако это не решает вопрос для пользовательского элемента управления. Я попробовал прозрачный фон и за пользовательский элемент управления и за холст в нем, прямоугольник, в котором внутренний холст имеет черный фон и все же, никакая удача: подсказка просто не откроется.
Я действительно пытался поместить подсказку в свой корневой холст, и он действительно обнаруживается, но не в мои отдельные дочерние пользовательские элементы управления, ни их внутренний холст/детей, даже при том, что им установили фон/заливку.
Кроме того, размещение События MouseEnter показывает, что действительно стреляет, когда мышь введет внутренний холст, все же, подсказка не будет население.