使用多个熊猫datadframes创建图-Python

时间:2020-05-30 16:27:50

标签: python pandas dataframe matplotlib

我正在尝试构建一个代码,其中从文件夹中打开大约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)

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

1 个答案:

答案 0 :(得分: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,则每个数据框都会以唯一的颜色绘制