Итак, у меня есть несколько фреймов данных, и все они нуждаются в одинаковой формуле, примененной к определенным наборам в этом фрейме данных. Я получил расположение наборов внутри df, но я не знаю, как получить доступ к этим наборам. Это мой код:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt #might used/need it later to check the output
df = pd.read_csv('Dalfsen.csv')
l = []
x = []
y = []
#the formula(trendline)
def rechtzetten(x,y):
a = (len(x)*sum(x*y)- sum(x)*sum(y))/(len(x)*sum(x**2)-sum(x)**2)
b = (sum(y)-a*sum(x))/len(x)
y1 = x*a+b
print(y1)
METING = df.ID.str.contains("<METING>") #locating the sets
indicatie = np.where(METING == False)[0] #and saving them somewhere
if n in df[n] != indicatie & n+1 != indicatie: #attempt to add parts of the set in l
append.l
elif n in df[n] != indicatie & n+1 == indicatie: #attempt defining the end of the set and using the formula for the set
append.l
rechtzetten(l.x, l.y)
else: #emptying the storage for the new set
l = []
indicatie
имеет следующие цифры:
0 12 13 26 27 40 41 53 54 66 67 80 81 94 95 108 109 121
122 137 138 149 150 162 163 177 178 190 191 204 205 217 218 229 230 242
243 255 256 268 269 291 292 312 313 340 341 373 374 401 402 410 411 420
421 430 431 449 450 468 469 487 488 504 505 521 522 538 539 558 559 575
576 590 591 604 605 619 620 633 634 647
Поскольку мой df выглядит так:
ID,NUM,x,y,nap,abs,end
<PROFIEL>not used data
<METING>data</METING>
<METING>data</METING>
...
<METING>data</METING>
<METING>data</METING>
</PROFIEL>,,,,,,
<PROFIEL>not usde data
...
</PROFIEL>,,,,,,
tl; dr Я пытаюсь использовать формулу в каждом профиле, как показано выше. Я хочу отредактировать данные между двумя номерами списка, указывающими ie. Например: функция rechtzetten (x, y) для x и y df.x & df.y [1:11] (поскольку [0] & [12] в списке указывают ie. ) И то же самое для [14:25] et c. и др c. Чего я стараюсь избегать, так это набираю следующие сотни раз вручную:
x_#=df.x[1:11]
y_#=df.y[1:11]
rechtzetten(x_#,y_#)