如何从两个 CSV 文件中获取数据并在图表上显示一个以进行比较?

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

我一直在尝试从两个单独的 CSV 文件获取数据以显示在一张图表上,以便可以对数据进行直观比较。脚本运行后,我可以打印这两个结果,但无法在图表上显示该数据。我确信我在这里遗漏了一些东西,但我已经坚持了一段时间了。

这是源代码:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model

df1 = pd.read_csv(r'/home/morgankemp/Downloads/Data2.csv')
df = pd.read_csv(r'/home/morgankemp/Downloads/Data.csv')
print (df)
print(df1)

X = list(df.iloc[:, 0])
Y = list(df.iloc[:, 1])

plt.scatter(X, Y, color='b')
plt.title("Levels of Methane (CH4) Emissions (Tonnes) From Denmark 2010 - 2019")
plt.xlabel("Years")
plt.ylabel("Number of Tonnes")

plt.show()

如果有人能指出我正确的方向,谢谢。

代码输出:

enter image description here

图表仅显示一组结果:

enter image description here

python csv
2个回答
1
投票

您可以尝试以下方法来循环每个文件和颜色组合:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model

data = [
    [r'/home/morgankemp/Downloads/Data.csv', 'b'], 
    [r'/home/morgankemp/Downloads/Data2.csv', 'g']
]

for filename, colour in data:
    df = pd.read_csv(filename)
    X = list(df.iloc[:, 0])
    Y = list(df.iloc[:, 1])
    plt.scatter(X, Y, color=colour)

plt.title("Levels of Methane (CH4) Emissions (Tonnes) From Denmark 2010 - 2019")
plt.xlabel("Years")
plt.ylabel("Number of Tonnes")

plt.show()

没有文本格式的数据很难测试。


0
投票

我认为你可以做到:

plt.scatter(df1['Year'],df1['Long header here'])
plt.scatter(df2['Year'],df2['Long header here'])
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.