Ich studierte in Udacity (im Neuling) und ich steckte bei diesem. Ich coppy Code und laufen, aber es gibt keinen AusgangPlotten mehrere Preistabelle in Python
dies Udacity Link https://www.youtube.com/watch?v=vmF6iEQzC2A
* Meine csv-Dateien aus dem Video unterscheiden
hier ist mein Code
"""Slice and plot"""
import os
import pandas as pd
import matplotlib.pyplot as plt
def plot_selected(df, columns, start_index, end_index):
plot_data(df.ix[start_index:end_index,columns],title="Selected Data")
def symbol_to_path(symbol, base_dir="data"):
"""Return CSV file path given ticker symbol."""
return os.path.join(base_dir, "{}.csv".format(str(symbol)))
def get_data(symbols, dates):
"""Read stock data (adjusted close) for given symbols from CSV files."""
df = pd.DataFrame(index=dates)
if 'EURUSDCSV' not in symbols: # add EUR for reference, if absent
symbols.insert(0, 'EURUSDCSV')
for symbol in symbols:
df_temp = pd.read_csv(symbol_to_path(symbol), index_col='DateTime',
parse_dates=True, usecols=['DateTime', 'Close'], na_values=['nan'])
df_temp = df_temp.rename(columns={'Close': symbol})
df = df.join(df_temp)
if symbol == 'EURUSDCSV': # drop dates SPY did not trade
df = df.dropna(subset=["EURUSDCSV"])
return df
def plot_data(df, title="Stock prices"):
"""Plot stock prices with a custom title and meaningful axis labels."""
ax = df.plot(title=title, fontsize=12)
ax.set_xlabel("Date")
ax.set_ylabel("Price")
plt.show()
def test_run():
# Define a date range
dates = pd.date_range('2015-01-01', '2015-12-31')
# Choose stock symbols to read
symbols = ['EURUSDCSV', 'USDJPYcsv'] # SPY will be added in get_data()
# Get stock data
df = get_data(symbols, dates)
# Slice and plot
plot_selected(df, ['EURUSDCSV', 'USDJPYcsv'], '2015-01-01', '2015-12-31')
if __name__ == "__main__":
test_run()
Sie haben einen Tippfehler in der Zeile vor der 'def' Anweisung:' plot_data (df.ix [start_index: end_index, columns], title = "Ausgewählte Daten)" 'sollte' plot_data sein (df.ix [start_index: end_index, columns], title = "Ausgewählte Daten") '. –
Danke Thomas. Aber es funktioniert immer noch nicht. Es gibt keinen Fehler und keine Ausgabe. Schaubild sollte angezeigt werden. –
Es kann eine Reihe von Gründen geben - es ist schwer zu sagen, da wir Ihre Eingabe nicht haben. Wenn ich Sie wäre, würde ich damit anfangen, zu überprüfen, ob das 'df' in' plot_data' tatsächlich einige Daten enthält (versuchen Sie 'print (df)' oder 'print (len (df))'). Wenn es leer ist, beginnen Sie von dort aus zu suchen. –