Я пишу код в python, чтобы проанализировать мои данные для моей диссертации. Из эксперимента я получаю большой набор данных. В первой части скрипта он генерирует вывод, похожий на следующий:
GateVolt Field HallVolt
0 1500 76
0 1490 75
0 1485 74
. . .
. . .
0.1 1485 72
0.1 1476 70
. . .
. . .
0.2 1470 67
0.2 1465 62
. . .
. . .
. . .
На основе этого вывода проводится дальнейший анализ. Код, который я написал:
#Read the CSV that contains all the data
field = np.array([])
hallVolt = np.array([])
gate_voltage = np.array([])
channel_voltage = np.array([])
voltage_Counter = 0
for lineIndex in range(len(fileLines)):
currentLine = fileLines[lineIndex]
dataSegment = currentLine.split()
field = np.append(Field, float(dataSegment[9])) #This is milli Tesla
hallVolt = np.append(hallVolt, float(dataSegment[5])) #This is milli Volt
channel_voltage = np.append(channel_voltage, float(dataSegment[2])) #This is Volt
VG = float(dataSegment[6]) - float(dataSegment[2])/2
gate_voltage = np.append(gate_voltage, np.round(VG, 2)) #This is Volt
if lineIndex > 1 and VG != gate_voltage[lineIndex-1]:
voltage_Counter = voltage_Counter + 1
HallVoltage = hallVolt-((max(hallVolt))+min(hallVolt))/2
HallVoltage_Norm = HV/((max(HV)-min(HV))/2)
Так что я хочу, чтобы мой код делал отдельные столбцы для «Холловского напряжения» и «Magneti c Поле» для каждого «напряжения на затворе», что-то вроде следующего :
GateVolt Field HallVoltage GateVolt Field HallVolt GateVolt Field HallVolt
0 1500 76 0.1 1485 72 0.2 1470 67
0 1490 75 0.1 1476 70 0.2 1465 62
0 1485 74 . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
В конце я хочу построить график «напряжение Холла» против «поля», а также провести некоторый анализ и подгонку, а также еще несколько графиков для различных напряжений затвора.
Я почти новичок ie в кодировании и python, и я не знаю, что делать дальше, чтобы получить такой вывод. Есть ли способ достичь того, что я хочу сделать? Заранее спасибо! :)