Witam, czy ktoś ma pomysł jak zrobić tabele dwóch zmiennych, która porządkuje wyniki operacji na nich? Stworzyłem dwie listy zmiennych :
#listy zmiennych
for s in numpy.arange(1.9, 10.5, 0.1):
szerokosci.append(round(s + 0.1, 1))
for g in numpy.arange(1.9, 4.2, 0.1):
glebokosci.append(round(g + 0.1, 1))
#następnie wykonuje operacje które podstawiają wartości w pętli:
for q in range(len(szerokosci)):
szer = szerokosci[q]
for i in range(len(glebokosci)):
glb = glebokosci[i]
#dalej obliczenia i wyniki zapisane do listy:
wynik = szer * glb
wszystie_wyniki.append(wynik)
Próbowałęm z df = pd.DataFrame(index=glebokosci, columns=szerokosci, data=wszystkie_wyniki[q]) lecz jak można się domyśleć stworzyło tabelę, gdzie wszystkie dane były ostatnim wynikiem operacji. Czy ktoś ma jakiś pomysł jak to można w łatwy sposób rozwiązać, może od samego początku tzn. pętli for w pętli for robię coś źle, chociaż dostaje wyniki operacji takie jak powinny być. Z góry dziękuję za pomoc. Pozdrawiam
EDIT: może poniższy przykład będzie mniej zawiły
import pandas as pd
szerokosci = []
glebokosci = []
wyniki = []
for i in range(1,5,1):
szerokosci.append(i)
for i in range (1,4,1):
glebokosci.append(i)
for s in range(len(szerokosci)):
szeroksc = szerokosci[s]
for g in range(len(glebokosci)):
glebokosc = glebokosci[g]
pole = szeroksc * glebokosc
wyniki.append(pole)
df = pd.DataFrame(index=glebokosci, columns=szerokosci, data=pole)
print (df)
Z powyższego otrzymuję tabelę:
1 2 3 4
1 12 12 12 12
2 12 12 12 12
3 12 12 12 12
a chciałbym otrzymać tabelę z wynikami mnożenia dla poszczególnych liczb z pierwszej kolumny i wiersza, czyli:
1 2 3 4
1 1 2 3 4
2 2 4 6 8
3 3 6 9 12