小编mik*_*ez1的帖子

提取要在Python中列出的csv文件特定列

我要做的是使用matplotlib,底图,python等在地图上绘制特定风暴的纬度和经度值.我的问题是我正在尝试提取风暴的纬度,经度和名称我继续在第41-44行之间出错,我试图将列提取到列表中.请有人帮我解决这个问题.提前致谢.

这是文件的样子:

1957,AUDREY,HU, 21.6N, 93.3W
1957,AUDREY,HU,22.0N,  93.4W
1957,AUDREY,HU,22.6N,  93.5W
1957,AUDREY,HU,23.2N,  93.6W
Run Code Online (Sandbox Code Playgroud)

我希望列表如下所示:

latitude = [21.6N,22.0N,23.4N]
longitude = [93.3W, 93.5W,93.8W]
name = ["Audrey","Audrey"]
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所拥有的:

data = np.loadtxt('louisianastormb.csv',dtype=np.str,delimiter=',',skiprows=1)
'''print data'''

data = np.loadtxt('louisianastormb.csv',dtype=np.str,delimiter=',',skiprows=0)

f= open('louisianastormb.csv', 'rb')
reader = csv.reader(f, delimiter=',')
header = reader.next()
zipped = zip(*reader)

latitude = zipped[3]
longitude = zipped[4]
names = zipped[1]
x, y = m(longitude, latitude)
Run Code Online (Sandbox Code Playgroud)

这是我收到的最后一条错误消息/追溯:

回溯(最近一次调用最后一次):
文件"/home/darealmzd/lstorms.py",第42行,

header = reader.next()
_csv.Error:在不带引号的字段中看到的换行符 - 是否需要以通用换行模式打开文件?

python csv numpy matplotlib

29
推荐指数
2
解决办法
11万
查看次数

如何使石斑鱼和轴的长度相同?

对于我的作业,我应该使用 matplotlib 在地图上绘制 20 次飓风的轨迹。但是,当我运行代码时,出现错误:AssertionError:Grouper and axis must be the same length

这是我的代码:

import numpy as np
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt 
from PIL import *
fig = plt.figure(figsize=(12,12))

ax = fig.add_axes([0.1,0.1,0.8,0.8])

m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
        projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
        resolution ='l',area_thresh=1000.)

m.bluemarble()
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.5)
m.drawstates(linewidth=0.5)

# Creates parallels and meridians

m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
m.drawmapboundary(fill_color='aqua')

# Opens data file

import pandas as pd
name = [ ]
df = pd.read_csv('louisianastormb.csv')
for name, group in df.groupby([name]):
    latitude = group.lat.values
    longitude = group.lon.values …
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib pandas matplotlib-basemap

5
推荐指数
2
解决办法
4万
查看次数

如何使用Python操作系统获取子文件夹和文件夹的数量?

我有一个文件夹和子文件夹的目录.我要做的是获取文件夹中的子文件夹数量,并使用matplotlib在散点图上绘制它们.我有代码来获取文件的数量,但我如何获得文件夹中的子文件夹数量.这可能有一个简单的答案,但我是Python的新手.任何帮助表示赞赏.

这是我到目前为止获得文件数量的代码:

import os
import matplotlib.pyplot as plt

def fcount(path):
    count1 = 0
    for f in os.listdir(path):
        if os.path.isfile(os.path.join(path, f)):
            count1 += 1

    return count1

path = "/Desktop/lay"
print fcount(path)
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
2
解决办法
1万
查看次数

没有使用Python/Basemap绘制图形的线条

很抱歉,如果这个问题很简单,我就是使用Python和Basemap的新手.无论如何,我试图在地图上绘制20个飓风的路径(图).地图本身和传说完美呈现,但飓风的路径却没有.此外,我没有得到任何追溯消息,但我想我已经知道我的问题可能在哪里.有人可以告诉我哪里出错了.

这是csv文件的示例:

Year, Name, Type, Latitude, Longitude
1957,AUDREY,HU, 21.6, 93.3
1957,AUDREY,HU,22.0,  93.4
1957,AUDREY,HU,22.6,  93.5
1969,AUDREY,HU,28.2,99.6
1957,AUDREY,HU,26.5,93.8
1957,AUDREY,HU,27.9,93.8
1957,AUDREY,HU,29.3,95
1957,AUDREY,HU,27.9,93.8
1957,AUDREY,HU,29.3,93.8
1957,AUDREY,HU,30.7,93.5
1969,CAMILLE,HU, 21.6,99.3
1969,CAMILLE,HU,22.0,98.4
1969,CAMILLE,HU,22.6,90.5
1969,CAMILLE,HU,23.2,93.6
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的代码:

import numpy as np
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import csv, os, scipy
import pandas
from PIL import *


data = np.loadtxt('louisianastormb.csv',dtype=np.str,delimiter=',',skiprows=1)
'''print data'''
fig = plt.figure(figsize=(12,12))

ax = fig.add_axes([0.1,0.1,0.8,0.8])

m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
            projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
            resolution ='l',area_thresh=1000.)

m.bluemarble()
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.5)
m.drawstates(linewidth=0.5)

# Creates parallels and meridians
m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
m.drawmapboundary(fill_color='aqua')
color_dict = …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib pandas matplotlib-basemap

3
推荐指数
1
解决办法
2158
查看次数

标签 统计

python ×4

matplotlib ×3

csv ×2

matplotlib-basemap ×2

numpy ×2

pandas ×2