Python packages are very powerful. Here is an example for hydrological data analysis. This small piece of code reads USGS flow by a given site number and store it as pandas DataFrame. You need to install “ulmo” first.
Original post is from here
import pandas as pd
import numpy as np
import ulmo
def importusgssite(siteno):
sitename = {}
sitename = ulmo.usgs.nwis.get_site_data(siteno, service="daily", period="all")
sitename = pd.DataFrame(sitename['00060:00003']['values'])
sitename['dates'] = pd.to_datetime(pd.Series(sitename['datetime']))
sitename.set_index(['dates'],inplace=True)
sitename[siteno] = sitename['value'].astype(float)
sitename[str(siteno)+'qual'] = sitename['qualifiers']
sitename = sitename.drop(['datetime','qualifiers','value'],axis=1)
sitename = sitename.replace('-999999',np.NAN)
sitename = sitename.dropna()
#sitename['mon']=sitename.index.month
return sitename
d = importusgssite('12472800');
d.plot(style='r', linewidth=1.0)