带有 for 循环的单个图中的多个图形
Multiple graphs in a single plot with a for loop
我试图在单个图中显示 n 个图表,n 是 U.S 个状态的数量。
编译器不喜欢这两行x[j] = df['Date'] y[j] = df['Value']
=> 类型错误:'NoneType' 对象不可订阅
import quandl
import pandas as pd
import matplotlib.pyplot as plt
states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
j = 0
x = []
y = []
for i in states[0][0][1:]:
df = quandl.get("FMAC/HPI_"+i, authtoken="yourtoken" )
df = df.reset_index(inplace=True, drop=False)
x[j] = df['Date']
y[j] = df['Value']
j += 1
plt.plot(x[j],y[j])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('House prices')
plt.legend()
plt.show()
这个特定错误的问题在于您使用了 inplace
参数并将其赋值回变量 df。当使用等于 True 的 inplace 参数时,return 是 None.
print(type(df.reset_index(inplace=True, drop=False)))
NoneType
print(type(df.reset_index(drop=False)))
pandas.core.frame.DataFrame
使用 inplace=True
并且不分配回 df:
df.reset_index(inplace=True, drop=False)
或对 inplace=False 使用默认值并赋值回变量 df
df = df.reset_index(drop=False)
这里还有其他一些逻辑错误。
编辑以获得工作图表(测试限制为 20 个)
for i in states[0][0][1:20]:
df = quandl.get("FMAC/HPI_"+i, authtoken="yourtoken" )
df.reset_index(inplace=True, drop=False)
plt.plot('Date','Value',data=df)
# plt.plot(x[j],y[j])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('House prices')
plt.show()
我试图在单个图中显示 n 个图表,n 是 U.S 个状态的数量。
编译器不喜欢这两行x[j] = df['Date'] y[j] = df['Value']
=> 类型错误:'NoneType' 对象不可订阅
import quandl
import pandas as pd
import matplotlib.pyplot as plt
states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
j = 0
x = []
y = []
for i in states[0][0][1:]:
df = quandl.get("FMAC/HPI_"+i, authtoken="yourtoken" )
df = df.reset_index(inplace=True, drop=False)
x[j] = df['Date']
y[j] = df['Value']
j += 1
plt.plot(x[j],y[j])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('House prices')
plt.legend()
plt.show()
这个特定错误的问题在于您使用了 inplace
参数并将其赋值回变量 df。当使用等于 True 的 inplace 参数时,return 是 None.
print(type(df.reset_index(inplace=True, drop=False)))
NoneType
print(type(df.reset_index(drop=False)))
pandas.core.frame.DataFrame
使用 inplace=True
并且不分配回 df:
df.reset_index(inplace=True, drop=False)
或对 inplace=False 使用默认值并赋值回变量 df
df = df.reset_index(drop=False)
这里还有其他一些逻辑错误。
编辑以获得工作图表(测试限制为 20 个)
for i in states[0][0][1:20]:
df = quandl.get("FMAC/HPI_"+i, authtoken="yourtoken" )
df.reset_index(inplace=True, drop=False)
plt.plot('Date','Value',data=df)
# plt.plot(x[j],y[j])
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('House prices')
plt.show()