Python 在新的 class 上使用隐式参数,而无需从继承的 class 预构造对象:pandas、Quandl、matplotlib、NumPy

Python use implicit argument on new class without pre constructing Object from class that inherits: pandas, Quandl, matplotlib, NumPy

关于人工智能,我是 python 的新手。 我正在使用 matplotlib 绘制 pandas dataframe 中的数据曲线,而我用 Quandl 得到了它。 在示例中,我看到了这样的内容:

import pandas as pd
import Quandl
import matplotlib.pyplot as plt
df = Quandl.get('WIKI/GOOGL')
df[['Adj. Close']].plot()
plt.show()

Quandl 返回的 xmljson 如何立即转换为 pandas 对象(我猜是 dataframe)。

除此之外,我想知道我从 dataframe 获得的 pandas serie 如何作为隐式参数传递给另一个库的 .plot() 方法(matplotlib) 甚至没有从 matplotlib 构造一个继承了 pandas serie class 的对象。

我的意思是我如何以及为什么能够直接在 df[['Adj. Close']].plot() 中写入 pandas_series_object.plot() 而不是 plotter.plot(df[['Adj. Close']])

提前致谢!!

如果有人看完sentdex's python machine learning series tutorial on youtube就来了,那Question/Answer就是为了

好吧,Hampus Larsson 在评论中所说的是答案的一部分,Quandl.get returns 是 pandas dataframe 而不是 xml 也不是 json,至少对于 https://www.quandl.com/tools/python 中引用的 Quandlpython 实现, 它说:

Quandl requires NumPy (v1.8 or above) and pandas (v0.14 or above) to work.

关于 matplotlib 被这样称呼的问题的另一部分 df[['Adj. Close']].plot(),我在 matplotlibpandas 的两个网站上都在线发现他们使用在它们的库中硬编码的包装函数相互扩展,这就是它起作用的原因。 参考文献:

在 pandas 网站上:https://pandas.pydata.org/pandas-docs/version/0.13/visualization.html

在 matplolib 的网站上:https://matplotlib.org/thirdpartypackages/index.html#gui-applications