这是我使用的网址:
http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.csv
我需要像这样输出:
从USGS下载地震数据...... 最大规模的地震是: 时间:2016-10-17T06:14:58.370Z 纬度:-6.0526 经度:148.8617 地点:78公里WNW of Kandrian,Papua New Guinea 幅度:6.9 深度:35
我已经有一个读取和解码行的函数 这是一些代码:
def online_display_largest_quake():
print('Downloading earthquake data from USGS ...')
earthquakes = get_text_lines_from_url('http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.csv')
print (earthquakes)
best_mag = 0
best_item = []
for (item) in earthquakes[1:]:
if float(item[4]) > best_mag:
best_mag = float(str(item[4]))
best_item = item
earthquake_output(best_item)
答案 0 :(得分:0)
也许您可以发布几行您正在使用的CSV以及更多代码,以便我们更好地了解数据以及您如何接近其分析。
我在网上发现了一个CSV,其中包含我将用于示例的地震数据行。使用pandas,您可以直接输入URL并轻松获取发生最大震级的行(我相信,这就是您正在做的事情)。
> import pandas as pd
> url = 'http://itp.nyu.edu/~cm2897/blog/wp-content/uploads/2012/03/global-earthquakes.csv'
> df = pd.read_csv(url)
> df.head()
year month day time latitude longitude magnitude depth
0 1973 1 1 34609.8 -9.21 150.63 5.3 41
1 1973 1 1 52229.8 -15.01 -173.96 5.0 33
2 1973 1 1 114237.5 -35.51 -16.21 6.0 33
3 1973 1 2 5320.3 -9.85 117.43 5.5 66
4 1973 1 2 22709.2 1.03 126.21 5.4 61
> df.loc[df['magnitude'].idxmax()]
year 2004.00
month 12.00
day 26.00
time 5853.45
latitude 3.30
longitude 95.98
magnitude 9.00
depth 30.00
Name: 48506, dtype: float64
熊猫' Series.idxmax
方法返回系列中出现最大值的索引(在本例中为DataFrame中的幅度列)。有关详细信息,请参阅this answer。使用此索引,我们可以使用DataFrame.loc
返回相应的行。