我正在尝试构建一个代码,其中从文件夹中打开大约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)
任何帮助都会很棒!预先感谢
答案 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
,则每个数据框都会以唯一的颜色绘制