我有4张纸,它们具有相同数量的列和相同数量的数据。
但是我想把压力图绘制为y,而日期为X.所以在一个图中会有四行。我可以单独制作它们但不能全部制作它们。四张纸的日期相同,但是对于每个日期,每张纸可能有不同的金额值。您可以在我的代码中找到有关is_basin_name的内容,以帮助每次只选择一个压力。我需要选择这些来制作新表吗?或者有另一种方法来制作这个情节吗?
以下是我单张图的代码:
import pandas as pd
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
a=pd.read_excel('mslp0.0001.xlsx', '0.1-20', index_col=None, na_values=['NA'])
c=[]
c=a[['basin name','lead time(hours)','max 10-m wind 9kt0','min MSLP(hPa)','wind speed threshold(kt)']]
is_basin_name = a['lat*10'] > 0
is_wind_thresh =a['wind speed threshold(kt)'] == 34
#data to make a plot of mslp and 10m wind with leading time
valid_data = a[is_basin_name & is_wind_thresh]
#plot of mslp and lead time
ax=valid_data.plot(kind='line',x='lead time(hours)',y='min MSLP(hPa)')
plt.show()
excel文件(不能在这里制作表格,所以描述):
每张纸都有两列,日期和压力。
答案 0 :(得分:0)
我假设您正在尝试合并并绘制来自四张纸的所有数据。在这种情况下,您可以将每张表中的数据加载到pandas df中并将它们合并在一起。鉴于您的工作表具有相同数据量,因此更容易实现。 您可以直接使用pandas:
import pandas as pd
data = pd.ExcelFile(".../pressure_data.xlsx")
list_dfs = []
sheets = data.sheet_names
for sheet in sheets:
list_dfs = data.parse(sheet)
df = pd.concat(list_dfs)
#plot
pandas concat:见第一个例子。
顺便说一句,这是什么意思? '日期压力1. 1 2. 2 3. 2 4. 2'