在python中将多个csv列表图形化为一个图形

时间:2019-06-11 16:14:57

标签: python pandas csv matplotlib graph

我尝试将5个csv文件放入python中的一个图形中。在每个csv文件的第一列中,所有数字都是相同的,我想将它们视为图中每个csv文件的x值。但是,每个csv文件中还有两列(总计3列),但是我只想将第二列绘制为同一图上每个csv文件的“ y值”,理想情况下,获得5条不同的线,每个文件一个。有人对我该怎么做有任何想法吗?

我已经将文件上传到变量file_list

4 个答案:

答案 0 :(得分:0)

假设您的文件名为<body> <app>Loading...</app> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <script src="_framework/blazor.webassembly.js"></script> <script> window.initializeCarousel = () => { $('#carouselExampleIndicators').carousel({interval: 2000}) $('#carouselExampleIndicators-prev').click ( () => $('#carouselExampleIndicators').carousel('prev') ); $('#carouselExampleIndicators-next').click ( () => $('#carouselExampleIndicators').carousel('next') ); } </script> </body> File0.csvFile1.csvFile2.csvFile3.csv,则可以遍历它们,忽略第三列的值,并绘制x和y值。以下伪代码将用于3列

File4.csv

答案 1 :(得分:0)

读取第一个文件并创建一个列表列表,其中每个列表由该文件的两列填充。然后一一读取其他文件,并将它们的y列附加到此列表的对应索引中。

答案 2 :(得分:0)

您可以简单地多次调用图。假设您为from matplotlib.pyplot import plot,则可以重复相同的x值,也可以重复使用不同的x值,但仍然可以使用。这是一个示例:

enter image description here

答案 3 :(得分:0)

from pathlib import Path
import pandas as pd
import matplotlib.pyplot as plt

files = list(Path("/path/to/folder/with/csvs").glob("*.csv"))

fig, ax = plt.subplots(figsize=(10, 10))
x_col, y_col = "x_column_name", "y_column_name"

for file in files:
    file_name = file.stem
    df = pd.read_csv(file)
    df.plot(x=x_col, y=y_col, ax=ax, label=file_name, legend=True)

fig  # If using a jupyter notebook, and you've run a cell with %matplotlib inline