Вывод результата по столбцам

Irv1n

Новичок
Пользователь
Дек 8, 2020
8
1
3
Подскажите, есть данный код. Устанавливается значение (ver_val[rang]) и затем это значение 10 раз измеряется и добавляется в датафрейм. И так по кругу пока не закончатся значения в (ver_val[rang]). В результате данные измерения записываются в csv файл в одну колонку. Собственно вопрос: как сделать вывод первых 10 измерений в столбец, далее следующие 10 в следующий столбцец и так далее.
Спасибо.

Python:
for value in ver_val[rang]:
        set_value = float(value)
        cal.out_set(set_value)  # enable output
        cal.out_enable()
        # Wait for output to settle and read output
        cal.inst.write("*WAI; OUT?")
        time.sleep(3)  # take a nap few seconds
        cal.out_read()

        val = []
        for samples in range(10):  # количество измерений
            meas['Measurements'] = dmm.get_data()
            print("Измерение %d: %.9f В" % (samples + 1, dmm_val))
            val.append(dmm_val)  # Создает список из количества измерений
            measurements = measurements.append(meas, ignore_index=True)
 

Irv1n

Новичок
Пользователь
Дек 8, 2020
8
1
3
Немного перефразирую задачу:
Python:
 ver_val = OrderedDict()
ver_val[0.1] = [0.1, -0.1]
ver_val[1] = [1, -1]
ver_val[10] = [1, 5, 10, -1, -5, -10]
ver_val[100] = [100, -100]
ver_val[1000] = [1000, -1000]
results = pd.DataFrame()
measurements = pd.DataFrame()
calc = {}
meas = {}
calc_pool = []
# val2 = []
# Цикл на установку диапазона и обнуление мультиметра
for rang in ver_val:
    cal.out_set("0 mV")
    cal.out_enable()
    # Wait for output to settle and read output
    cal.inst.write("*WAI; OUT?")
    time.sleep(3)  # take a nap few seconds
    dmm.set_range(rng=str(rang))
    # dmm.set_null()
    time.sleep(3)
    # Цикл на установку точек калибровки
    for value in ver_val[rang]:
        set_value = float(value)
        cal.out_set(set_value)  # enable output
        cal.out_enable()
        # Wait for output to settle and read output
        cal.inst.write("*WAI; OUT?")
        time.sleep(3)  # take a nap few seconds
        cal.out_read()
        # Цикл на количество измерений в одной точке
        val = []
        for samples in range(2):  # количество измерений
            meas['Measurements'] = dmm.get_data()
            dmm.get_data()
            print("Измерение %d: %.9f В" % (samples + 1, dmm_val))
            val.append(dmm_val)  # Создает список из количества измерений
            measurements = measurements.append(meas, ignore_index=True)
Программа работает так: Есть два измерительных прибора - Калибратор и Мультиметр. На мультиметре устанавливается диапазон (ключ из словаря), и калибратор подаетзаданные точки на мультиметр (значения из словаря), далее мультиметр измеряет эти точки(здесь их две) и далее измерения добавляются вдатафрейм. Хотелось бы увидеть датафрейм в таком виде (исходя из значений из словаря, они там могут меняться):

Установленные значения
0.1​
-0.1​
1-1
0 0.099999-0.0999981.0000000-1.0000032
10.099998 -0.09999971.0000076-1.0000031
20.099999-0.0999981.0000032-1.0000031


здесь -0.1, -0.1, 1, -1 - это значения из словаря(set_value = float(value)) уст. на калиб., под ними значения измеренные на мультиметре (meas = dmm.get_data()).
и продолжить датафрейм далее согласно словарю.
Прошу прощения за данные вопросы, только начал изучать python на примерах
smile.png

Заранее спасибо.
 
  • Мне нравится
Реакции: Student

Форум IT Специалистов