So habe ich eine Liste von Daten in einer Spalte und eine Liste von Werten in einer anderen.Python-Liste von zwei Spalten aus Excel
2/8/13 474
2/7/13 463.25
2/6/13 456.47
2/5/13 444.05
2/4/13 453.91
2/1/13 459.11
1/31/13 456.98
1/30/13 457
1/29/13 458.5
1/28/13 437.83
1/25/13 451.69
1/24/13 460
1/23/13 508.81
1/22/13 504.56
1/18/13 498.52
1/17/13 510.31
Ich muss einen Weg finden, um die Daten in der ersten Spalte zu kompilieren und den Durchschnittswert für diesen Monat ausgeben.
Die Ausgabe sollte wie folgt aussehen: Monat: Jahr average_value_for_month.
Zum Beispiel können die ersten beiden Ausgänge sollte wie folgt aussehen
02:2013 458.46
01:2013 500.08
^dies sagt, dass für die Monate Februar, Januar 2013, die Mittelwerte meinen Code 458.46,500.08
Gerade jetzt waren ist,
def averageData(list_of_tuples):
#print(list_of_tuples) #prints out the list obtained from getDataList
sep_list = []
for i in range(0,len(list_of_tuples)):
split_list = list_of_tuples[i].split()
sep_list.append(split_list)
#print(sep_list[i]) #prints out list with index [i][0] being the date and index [i][1] being the column value
new_list = []
for i in range(0,len(sep_list)):
sep_list[i][0] = sep_list[i][0].split('-') #splits dates in year, month, day
#print(sep_list[i][0])
print(sep_list[i][0])
for i in range(0,len(sep_list)):
if sep_list[i][0][0] == sep_list[i+1][0][0] and sep_list[i][0][1] == sep_list[i+1][0][1]:
new_date = sep_list[i][0][1]+':'+sep_list[i][0][0]
new_list.append(new_date)
#print(new_list[i])
Die ursprüngliche Liste ist wie
formatiert['2013-02-08 474.00']
Meine erste for-Schleife macht die Liste
werden['2013-02-08', '474.00']
dann die zweite for-Schleife dreht die Liste in
[['2013', '02', '08'], '474.00']
Ich bin fest, wo man von hier geht. Bitte helfen Sie.
versuchen Sie mit Pivot-Tabelle! http://stackoverflow.com/questions/15570099/pandas-pivot-tables-row-subtotals –