ось равна одной синтаксической ошибке - PullRequest
0 голосов
/ 06 июня 2018

Я хочу построить график функции шага, используя значения из текстового файла для запуска уравнений, которые будут создавать график.

Мой текстовый файл выглядит примерно так:

      x0     x1        y0        y1
   0.000  0.110 -0.000050 -0.046207
   0.110  0.143 -0.046206 -0.049596
   0.143  1.000 -0.049596  0.000000

Я хотел бы использовать следующие выражения:

1. (((y1-yo)/(x1-x0)*(1-x0))+y0)
2. (-u + K/2)/e

Я получаю ошибку по оси = 1, говоря:

df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0, axis=1)
                                                                                         ^
SyntaxError: invalid syntax

Ниже приведен мой сценарий

import numpy as np
import matplotlib.pyplot as plt 
import csv

import pandas as pd

x=[]
y=[]
K=-2.69028905
e=1

df = pd.read_csv('vol_values.txt', delim_whitespace=True)
print(df)
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0, axis=1)
df['V'] = df.apply(lambda row: -row.u + K/2, axis=1)
df
print(df)
x=df['x in KxC']
y=df['Voltage']

plt.step(x,y)

Если в моих кодах есть что-то подозрительное, пожалуйста, дайте мне знать.Я только хотел бы использовать код, который я генерировал выше, используя apply и функцию лямбда-строки для генерации уравнений!

1 Ответ

0 голосов
/ 06 июня 2018

Вы пропустили соответствующую фигурную скобку после " + row.y0 ".Это должно быть " + row.y0) ":

df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0 ) , axis=1)

Это должно исправить эту синтаксическую ошибку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...