Dataframe将每一列数据绘制成折线图

Dataframe将每一列数据绘制成折线图

解决办法

1.在jupyter notebook实现。

import pandas as pd
import os
from sklearn import datasets
from pandas import DataFrame
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.read_csv('./0.csv', sep=';',index_col='datetime', parse_dates=True).drop(['changepoint'], axis=1)
data

在这里插入图片描述

###绘图###
x = np.arange(len(data))
plt.figure(figsize=(20,8))
names = locals()
for j in range(9):
    names[f'y{j + 1}'] = data[data.columns[j]].values.tolist()
    plt.plot(x, names[f'y{j + 1}'],label = data.columns[j])
    plt.legend()
    plt.grid()

在这里插入图片描述


完成!
2.想要把文件夹里所有.csv文件,都绘制一个数据折线图。代码如下:

###获取csv文件的路径pathname_list和文件名字metric_list###
dir = '../value1'
metric_list =[]
pathname_list = []
for root, dirs, files in os.walk(dir, topdown = True):
    for name in files:
        ####选择以cvs结尾的文件
        if name.endswith('.csv'):
            ####返回文件的路径####
            pathname = os.path.join(root, name).replace("\\", "/")
            print(pathname)
            pathname_list.append(pathname)
            (_filename, suffix) = name.split('.')
            # print(_filename.split('_'))
            ##指标名字列表##
            metric_list.append(_filename)
# pathname_list

在这里插入图片描述


在这里插入图片描述

###绘图并获取表格信息###
for i in range(len(pathname_list)):
    data = pd.read_csv(pathname_list[i], sep=';',index_col='datetime', parse_dates=True).drop(['changepoint'], axis=1)
    
    x = np.arange(len(data))
    plt.figure(figsize=(20,8))
    names = locals()
    for j in range(9):
        title = metric_list[i]
        plt.title("table%s"%(title))
        names[f'y{j + 1}'] = data[data.columns[j]].values.tolist()
        plt.plot(x, names[f'y{j + 1}'],label = data.columns[j])
        plt.legend()
        plt.grid()
    data.info()

展示部分截图

在这里插入图片描述

在这里插入图片描述


挺好,便于数据分析!
完整代码:

import pandas as pd
import os
from sklearn import datasets
from pandas import DataFrame
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

###获取csv文件的路径pathname_list和文件名字metric_list###
dir = '../value1'
metric_list =[]
pathname_list = []
for root, dirs, files in os.walk(dir, topdown = True):
    for name in files:
        ####选择以cvs结尾的文件
        if name.endswith('.csv'):
            ####返回文件的路径####
            pathname = os.path.join(root, name).replace("\\", "/")
            print(pathname)
            pathname_list.append(pathname)
            (_filename, suffix) = name.split('.')
            # print(_filename.split('_'))
            ##指标名字列表##
            metric_list.append(_filename)

###绘图并获取表格信息###
for i in range(len(pathname_list)):
    data = pd.read_csv(pathname_list[i], sep=';',index_col='datetime', parse_dates=True).drop(['changepoint'], axis=1)
    
    x = np.arange(len(data))
    plt.figure(figsize=(20,8))
    names = locals()
    for j in range(9):
        title = metric_list[i]
        plt.title("table%s"%(title))
        names[f'y{j + 1}'] = data[data.columns[j]].values.tolist()
        plt.plot(x, names[f'y{j + 1}'],label = data.columns[j])
        plt.legend()
        plt.grid()
    data.info()

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...