我有一个pandas dataframe,该框架容纳了.wav
数据的文件路径。我可以使用pandas DataFrame.plot()
函数绘制引用的数据吗?
示例:
典型用法: df.plot()
我要做的事情: df.plot(df.path_to_data)
???
我怀疑apply
和lambda
的某种组合会解决问题,但我对这些工具并不熟悉。
不,这是不可能的。plot
是在pd.DataFrame
对象上操作的一阶功能。在这里,df
是同一件事。您需要做的是
- 使用
pd.read_*
(通常为pd.read_csv(file)
)加载数据框,并分配给df
-
现在致电
df.plot
所以,总而言之,您需要 -
df = pd.read_csv(filename)
... # some processing here (if needed)
df.plot()
至于是否可以"在不加载内存中加载数据"的问题...您无法绘制不在内存中的数据。如果需要,您可以限制阅读的行数,也可以通过将其加载到块中来有效地加载它。您也可以编写代码以汇总/总结数据,或进行采样。
我认为您需要首先创建DataFrame
read_csv
,然后DataFrame.plot
:
pd.read_csv('path_to_data').plot()
但是,如果需要,请从DataFrame
中的path
s创建的 DataFrame
s:
df.path_to_data.apply(lambda x: pd.read_csv(x).plot())
或使用自定义功能:
def f(x):
pd.read_csv(x).plot()
df.path_to_data.apply(f)
或使用循环:
for x in df.path_to_data:
pd.read_csv(x).plot()