Я ищу эквивалент функции vlookup в excel. У меня есть сценарий, где я читаю файл csv. Я хотел бы иметь возможность запрашивать связанное значение из другого столбца в .csv. Сценарий до сих пор:базовый эквивалент python vlookup
import matplotlib
import matplotlib.mlab as mlab
import glob
for files in glob.glob("*.csv"):
print files
r = mlab.csv2rec(files)
r.cols = r.dtype.names
depVar = r[r.cols[0]]
indVar = r[r.cols[1]]
print indVar
Это будет читать из CSV-файлов в одной папке скрипт находится в В приведенном выше примере depVar является первым столбцом в .csv и indVar является вторым столбцом.. В моем случае я знаю значение для indVar, и я хочу вернуть связанное значение для depVar. Я хотел бы добавить команду как:
depVar = r[r.cols[0]]
indVar = r[r.cols[1]]
print indVar
depVarAt5 = lookup value in depVar where indVar = 5 (I could sub in things for the 5 later)
В моем случае все значения во всех полях номера и все значения indVar уникальны. Я хочу, чтобы определить новую переменную (depVarAt5 в последнем примере), равную связанному значению.
Вот пример содержимого .csv, назовите файл и поместите его в ту же папку, что и скрипт. В этом примере параметр depVarAt5 должен быть установлен равным 16.1309.
Temp,Depth
16.1309,5
16.1476,94.4007
16.2488,100.552
16.4232,106.573
16.4637,112.796
16.478,118.696
16.4961,124.925
16.5105,131.101
16.5462,137.325
16.7016,143.186
16.8575,149.101
16.9369,155.148
17.0462,161.187
Примерный входной файл и список ожидаемых результатов будут полезны. –
И просто примечание, не относящееся к вашему вопросу: ваши данные численные и упорядоченные ... Поэтому я задаюсь вопросом, должно ли это представлять непрерывную функцию. В этом случае вам, вероятно, нужна какая-то интерполяция, а не просто поиск.(Excel VLOOKUP не выполняет интерполяцию, а скорее находит самое близкое значение.) –