我试图在一页上显示6个条形图。但我一直在犯错误
Exception has occurred: ValueError need at least one array to concatenate File "<array_function internals>", line 5, in concatenate
有人知道发生了什么吗
from pandas_datareader import data
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import math
sns.set(style='darkgrid', context='talk', palette='Dark2')
# Define the instruments to download. We would like to see Apple, Microsoft and the S&P500 index.
stocks = ['TSLA', 'MSFT', 'AMZN', 'GOOGL','AAPL', 'FB']
def bar_chart_percent_group_by_stock():
# User pandas_reader.data.DataReader to load the desired data. As simple as that.
panel_data = data.DataReader(stocks, 'yahoo', start_date, end_date)
dff = panel_data.drop(['Low', 'Open', 'Close', 'Volume', 'Adj Close'], axis=1)
startDates = ['2019-01-02', '2018-01-02', '2017-01-03', '2016-01-04', '2015-01-02']
endDates = ['2019-12-31', '2018-12-31', '2017-12-29', '2016-12-30', '2015-12-31']
#print(dff['Date'].str.contains("2017"))
#show all rows whos index matches these values
print(dff[dff.index.get_level_values(0).year.isin([2017])])
print(dff[dff.index.get_level_values(0).year.isin([2016])])
print(dff[dff.index.get_level_values(0).year.isin([2015])])
col_count = 0
for col in dff:
col_count = col_count + 1
col_df = pd.DataFrame(columns=['Values'])
col_data = dff[col]
#col_data.plot(kind='barh', left=0.0)
print(col_data)
count = 0
list_data = []
for start, end in zip(startDates, endDates):
count = count + 1
startYear = col_data[start]
endYear = col_data[end]
diff = endYear - startYear
percent_diff = (diff / startYear) * 100
if math.isnan(percent_diff):
percent_diff = 0.0
list_data.append(percent_diff)
col_df['Values'] = list_data
#plt.subplot(len(dff.columns),1,col_count)
col_df.plot(kind='barh', left=0.0)
plt.show()
bar_chart_percent_group_by_stock()
堆栈跟踪
Exception has occurred: ValueError
need at least one array to concatenate
File "<__array_function__ internals>", line 5, in concatenate
File "C:\Users\Dev\source\repos\stock-tool\stock_finder.py", line 127, in bar_chart_percent_group_by_stock
plt.show()
File "C:\Users\Dev\source\repos\stock-tool\stock_finder.py", line 165, in <module>
bar_chart_percent_group_by_stock()
更新
这似乎是VisualStudio代码中“引发异常”复选框的问题。当它被选中时,我看到上面描述的错误。我看到了我的柱状图
下面是您可以看到问题所在的最低限度的脚本
from pandas_datareader import data
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import math
import numpy as np
sns.set(style='darkgrid', context='talk', palette='Dark2')
Data = {'Country': ['USA','Canada','Germany','UK','France'],
'GDP_Per_Capita': [45000,42000,52000,49000,47000]
}
df2 = pd.DataFrame(Data,columns=['Country','GDP_Per_Capita'])
plot = df2.plot(x ='Country', y='GDP_Per_Capita', kind = 'bar')
print(plot)
plt.show()
这似乎是VisualStudio代码中“引发异常”复选框的问题。当它被选中时,我看到上面描述的错误。我看到了我的柱状图
我认为python库中还存在其他一些问题,但我还没有弄清楚是什么或为什么
我已经找到了一份如上所述的工作
相关问题 更多 >
编程相关推荐