Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用我自己的数据制作windrose_Python_Ascii_File Read - Fatal编程技术网

Python 用我自己的数据制作windrose

Python 用我自己的数据制作windrose,python,ascii,file-read,Python,Ascii,File Read,我试图从一系列风速和方向值中生成一个风向上升。我知道如何编写原始程序来完成此操作,如下所示: from windrose import WindroseAxes from matplotlib import pyplot as plt import matplotlib.cm as cm import numpy as np ws=[2.6,2.3,2.1,2.0,2.1,2.2,2.9,2.8,2.39,1.90,1.54,1.29,0.72,0.18,1.08] wd=[207,208,21

我试图从一系列风速和方向值中生成一个风向上升。我知道如何编写原始程序来完成此操作,如下所示:

from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
ws=[2.6,2.3,2.1,2.0,2.1,2.2,2.9,2.8,2.39,1.90,1.54,1.29,0.72,0.18,1.08]
wd=[207,208,215,217,213,209,203,195,187,179,164,139,117,101,280]
print "WD is ",wd
print "WS is ",ws
ax = WindroseAxes.from_ax()
ax.bar(wd,ws, normed=True, opening=0.8, edgecolor='white')
ax.set_legend()
plt.show()
唯一的问题是如何让程序将数据读入上述程序中的数组ws(风速)和wd(风向)

数据位于ascii文件中,两列之间用空格分隔。第一列是风速,第二列是风向


风速在第一列,风向在第二列。您知道如何使用python读取这种类型的风,以便在上面的脚本中第一列占用ws数组,第二列占用wd数组吗?

您可以使用
np.loadtxt

data = np.loadtxt('data.txt')
ws = data[:, 0]
wd = data[:, 1]

假设您有一个名为
data.csv
的文件,其内容如下

2.6 207
2.3 208
2.1 215
2.0 217
2.1 213
2.2 209
2.9 203
2.8 195
2.39 187
1.90 179
1.54 164
1.29 139
0.72 117
0.18 101
1.08 280
您可以使用Pandas读取CSV文件

df = pd.read_csv("data.csv", names=["ws", "wd"], sep=" ")
ws = df["ws"].values
wd = df["wd"].values

PS:windrose也可以直接使用熊猫数据帧

在上面的代码中有一些错误:

ax=WindroseAxes.from_ax()
WindroseAxes
没有“from_ax”属性

而且

ax.bar(wd,ws,normed=True,opening=0.8,edgecolor='white')
bar()
缺少1个必需的位置参数:“var”

仔细看看