创建具有多个pandas datadframes-Python的图

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

我正在尝试构建一个代码,其中从文件夹中打开的大约100个.txt文件会生成数据帧的唯一图,在其中仅选择前两列。这是我的代码,不幸的是根本不起作用(我有100个不同的图)

import pandas as pd
import os
import glob

file_location = os.path.join('files','*.txt')
filenames = glob.glob(file_location)


for f in filenames:
  outfile = pd.read_csv(f, nrows=310, sep=" ", header=None)
  df = pd.DataFrame(outfile)
  data = df.iloc[:, 0:2]
  data.columns = ['x','y']
  #print(data) 

  for frame in data:
     data.plot(x="x",y="y", alpha=0.5)

任何帮助都会很棒!在此先感谢

python pandas dataframe matplotlib
1个回答
0
投票

您可以使用pyplot对象本身进行绘图,因此可以更好地处理绘图行为。对于您而言,以下修改有效:

from matplotlib import pyplot as plt

for f in filenames:
  df = pd.read_csv(f, nrows=310, sep=" ", header=None)

  # the df = pd.DataFrame(outputfile) is unecessary. pd.read_csv
  # returns a data frame in the first place

  data = df.iloc[:, 0:2]
  data.columns = ['x','y']

  plt.plot(data.x, data.y, alpha=0.5, color='blue')

plt.show() # or plt.savefig()

如果不指定color,则每个数据帧都将以唯一的颜色绘制

© www.soinside.com 2019 - 2024. All rights reserved.