Die Situation ist, dass ich ein paar Dateien mit time_series Daten für verschiedene Bestände mit mehreren Feldern haben. jede DateiPandas anwenden multicolumnindex auf Datenframe
time, open, high, low, close, volume
enthält das Ziel, dass alle in einem Datenrahmen der Form
field open high ...
security hk_1 hk_2 hk_3 ... hk_1 hk_2 hk_3 ... ...
time
t_1 open_1_1 open_2_1 open_3_1 ... high_1_1 high_2_1 high_3_1 ... ...
t_2 open_1_2 open_2_2 open_3_2 ... high_1_2 high_2_2 high_3_2 ... ...
... ... ... ... ... ... ... ... ... ...
ich ein Multiindex erstellt zu bekommen, ist
fields = ['time','open','high','low','close','volume','numEvents','value']
midx = pd.MultiIndex.from_product([security_name'], fields], names=['security', 'field'])
und für einen Start, versucht, das anzuwenden MultiIndex zum Dataframe bekomme ich vom Lesen der Daten von CSV (durch Erstellen eines neuen Datenrahmens und Hinzufügen des Index)
for c in eqty_names_list:
midx = pd.MultiIndex.from_product([[c], fields], names=['security', 'field'])
df_temp = pd.read_csv('{}{}.csv'.format(path, c))
df_temp = pd.DataFrame(df_temp, columns=midx, index=df_temp['time'])
df_temp.df_name = c
all_dfs.append(df_temp)
jedoch nur die neuen Datenrahmen enthält nan
security 1_HK
field time open high low close volume
time
NaN NaN NaN NaN NaN NaN NaN
Außerdem ist es immer noch eine Spalte für die Zeit enthält, obwohl ich, dass der Index zu machen versucht (so dass ich später alle anderen Datenrahmen für andere beitreten können Aktien nach Index, um den aggregierten Datenrahmen zu erhalten).
Wie kann ich mich bewerben die Multiindex auf den Datenrahmen ohne meine Daten zu verlieren und dann später die Datenrahmen verbinden wie diese
security 1_HK
field time open high low close volume
time
suchen so etwas wie erstellen (beachten Sie Hierarchiefeld und Sicherheit sind eingeschaltet)
field time open high ...
security 1_HK 2_HK ... 1_HK 2_HK ... ...
time
Dank. das funktioniert wunderbar. Hinweis für jeden, der sich das anschaut; Die Reihenfolge der Dateien sollte der Reihenfolge in eqty_names_list entsprechen, wenn Sie Daten wie diese lesen – chrise
Ja, Sie haben Recht. ich danke Ihnen für die Annahme! – jezrael