Ich versuche zu lernen, Pandas in Python zu verwenden. Ich habe Probleme, Mathe zu meinem Panda-Datenrahmen zu machen. Im Moment sieht mein Datenrahmen etwas wie folgt aus:Python Panda Fehler TypeError: nicht unterstützte Operandentypen für /: 'str' und 'int'
print (mark)
0 1 2 3 4 5 6
0 447366345 -2.04 -2.69 176.98 418.84 34.3167521 -118.4068498
1 447406197 -2.34 -2.18 176.88 418.77 34.3167522 -118.4068499
2 447446155 -2.63 -1.56 176.74 418.77 34.3167522 -118.4068499
3 447486653 -2.89 -0.95 176.58 418.84 34.3167522 -118.4068499
4 447526241 -3.12 -0.42 176.43 418.84 34.3167522 -118.4068499
5 447566373 -3.34 -0.07 176.32 418.84 34.3167522 -118.4068497
6 447606036 -3.56 0.05 176.26 418.66 34.3167523 -118.4068497
7 447645783 -3.77 -0.03 176.28 418.66 34.3167523 -118.4068497
8 447686269 -3.95 -0.31 176.43 418.95 34.3167523 -118.4068497
def data_reader(filename, rowname):
with open(filename, newline='') as fp:
yield from (row[1:] for row in csv.reader(fp, skipinitialspace=True)
if row[0] == rowname)
mike = pd.DataFrame.from_records(data_reader('data.csv', 'mike'))
Nun wollen wir sagen, dass ich die Zeile 0 nehmen wollen und teilen sie durch 1000
mark_time = mark[0]/1000
Dies erzeugt den Fehler
TypeError: unsupported operand type(s) for /: 'str' and 'int'
Ich rate, weil aktuelle mein Datarame nicht als IN gilt T, also ging ich voran und tat dies:
mark_time = float (mark[0]/1000)
Allerdings gab mir das auch den gleichen Fehler. Könnte mir bitte jemand erklären warum?
Meine zweite Frage ist, wenn es um das Plotten geht. Ich habe Matplotlib sehr gut gelernt und wollte es auf meinem Panda Dataframe verwenden. Derzeit ist die Art, wie ich es tue, ist dies:
fig1 = plt.figure(figsize= (10,10))
ax = fig1.add_subplot(311)
ax.plot(mike_time, mike[0], label='mike speed', color = 'red')
plt.legend(loc='best',prop={'size':10})
Kann ich nur mike_time ersetzen und mike [0] mit meinem Datenrahmen?
Wirf den Typ 'mark [0] = mark [0] .type (int)' – EdChum
'float (Marke [0])/1000' anstelle von' float (Marke [0]/1000) ' – MMF
@MMFI habe diesen Fehler TypeError: kann die Serie nicht konvertieren in –