Как построить графики на основе DataFrame из всех файлов в одной папке?

Как открыть все файлы в одной папке и нарисовать графики столбца?

Файлы.

from pathlib import Path
import shutil

p = Path(r"result")

for f in p.glob("*.csv"):
    df = pd.read_csv(f)
    df["Close"].plot() 
    plt.show()

Ответы (3 шт):

Автор решения: MaxU
p = Path(r"result")

df = (pd
      .concat([pd
               .read_csv(f, 
                         usecols=["Date", "Close"], 
                         parse_dates=["Date"], 
                         index_col="Date")
               .rename(columns={"Close":f.stem})
               for f in p.glob("*.csv")], 
              axis=1))

df.plot()

введите сюда описание изображения

→ Ссылка
Автор решения: MaxU

как это сделать по отдельности - один график - одна линия?

fig, ax = plt.subplots(figsize=(10,6)) 
 
for f in p.glob("*.csv"):
    df = pd.read_csv(f, 
                     usecols=["Date", "Close"],
                     parse_dates=["Date"], 
                     index_col="Date")
    df[f.stem] = df.pop("Close")
    df.plot(grid=True, ax=ax)

введите сюда описание изображения

→ Ссылка
Автор решения: MaxU

если нужно нарисовать каждый столбец на отдельном графике:

df = (pd
      .concat([pd
               .read_csv(f, 
                         usecols=["Date", "Close"], 
                         parse_dates=["Date"], 
                         index_col="Date")
               .rename(columns={"Close":f.stem})
               for f in p.glob("*.csv")], 
              axis=1))

df.plot(subplots=True, sharey=True, grid=True)

введите сюда описание изображения


UPD: чтобы нарисовать данные из каждого файла, но так, чтобы данные из одного файла были нарисованы в собственном новом окне:

for f in p.glob("*.csv"):
    df = pd.read_csv(f, 
                     usecols=["Date", "Close"],
                     parse_dates=["Date"], 
                     index_col="Date")
    df[f.stem] = df.pop("Close")
    df.plot(grid=True, figsize=(8, 4))
→ Ссылка