为路径输入调用pandas plot函数

问题描述 投票:0回答:2

我有一个pandas数据帧,其中包含.wav数据的文件路径。我可以使用pandas DataFrame.plot()函数来绘制引用的数据吗?

例:

典型用法:df.plot()

我想做什么:df.plot(df.path_to_data) ???

我怀疑applylambda的某些组合可以解决问题,但我对这些工具并不是很熟悉。

python pandas matplotlib plot
2个回答
1
投票

不,那是不可能的。 plot是在pd.DataFrame对象上运行的一阶函数。在这里,df将是同样的事情。你需要做的是

  1. 使用pd.read_*(通常是pd.read_csv(file))加载数据框并分配给df
  2. 现在打电话给df.plot

总而言之,您需要 -

df = pd.read_csv(filename)
... # some processing here (if needed)
df.plot()

至于是否可以“不在内存中加载数据”这样做的问题......你无法绘制不在内存中的数据。如果你愿意,你可以limit tha number of rows you read,或者你可以通过loading it in chunks高效加载它。您也可以将代码写入aggregate/summarise datasample it


1
投票

我认为你需要首先通过DataFrame然后read_csv创建DataFrame.plot

pd.read_csv('path_to_data').plot()

但如果需要从DataFrame中的paths创建的DataFrames图:

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()
© www.soinside.com 2019 - 2024. All rights reserved.