python - 如何从不同的文件中读取列并绘图?
问题描述
我有从 2005 年到 2018 年的每一天的浓度数据。我想读取三个不同文件的三列并将它们合并为一个,以便绘制它们。
数据:文件 1
time, mean_OMNO2d_003_ColumnAmountNO2CloudScreened
2005-01-01,-1.267651e+30
2005-01-02,4.90778397e+15
...
2018-12-31,-1.267651e+30
数据:文件 2
time, OMNO2d_003_ColumnAmountNO2TropCloudScreened
2005-01-01,-1.267651e+30
2005-01-02,3.07444147e+15
...
数据:文件 3
time, OMSO2e_003_ColumnAmountSO2_PBL
2005-01-01,-1.267651e+30
2005-01-02,-0.0144000314
...
我想将time
和mean_OMNO2d_003_ColumnAmountNO2CloudScreened
,OMNO2d_003_ColumnAmountNO2TropCloudScreened
绘制OMSO2e_003_ColumnAmountSO2_PBL
成一张图。
import glob
import pandas as pd
file_list = glob.glob('*.csv')
no= []
no2=[]
so2=[]
for f in file_list:
df= pd.read_csv(f, skiprows=8, parse_dates =['time'], index_col ='time')
df.columns=['no','no2','so2']
no.append([df["no"]])
no2.append([df["no2"]])
so2.append([df["so2"]])
我该如何解决这个问题?
解决方案
这是非常可行的。我在一个情节中遇到了 3 个文件的类似问题。我的理解是你想比较 NO、NO2 和 SO2 的水平,每一列的顺序是可比的,并且你想跨行进行比较。如果你对导入 matplotlib 和 numpy 没问题,这样的事情可能对你有用:
import numpy as np
import matplotlib as plt
NO = np.asarray(df["no1"])
NO2 = np.asarray(df["no2"]))
SO2 = np.asarray(df["so2"))
timestamp = np.asarray(df["your_time_stamp"])
plt.plot(timestamp, NO)
plt.plot(timestamp, NO2)
plt.plot(timestamp, SO2)
plt.savefig(name_of_plot)
这需要针对您的特定数据框进行一些调整,但我希望您能看到我的意思!
推荐阅读
- javascript - pixi.js 使用 DisplacementFilter 的问题
- python - 如何打开一个程序并按下 python 脚本中的一个键
- javascript - 用对象内部的内容替换数组的最佳方法
- c++ - 结果已关闭
- google-cloud-platform - 您可以使用只写权限写入 GCP PubSub 吗?
- sql - 有没有办法获得“星期几”
- yum - 在 Centos 8.1 上使用 Yum DNF 时出错 无法下载 repo 'AppStream' 的元数据
- excel - 从表中复制一个值并打印
- asp.net - asp.net core razor 页面模型公共列表变量在发布后重置为空,而字符串变量不重置
- python - 尝试创建一个循环以将变量从一个数组添加到另一个数组