我刚开始使用pandas分析随时间变化的地下水井数据。
我的文本文件中的数据格式如下(site_no, date, well_level):
485438103132901 19800417 -7.1
485438103132901 19800506 -6.8
483622101085001 19790910 -6.7
485438103132901 19790731 -6.2
483845101112801 19801111 -5.37
484123101124601 19801111 -5.3
485438103132901 19770706 -4.98
我希望得到一个输出,按照每五年为一组将井平均水平分组,并且显示每组的数量计数:
site_no avg 1960-end1964 count avg 1965-end1969 count avg 1970-end1974 count
我正在使用以下方法读取数据:
names = ['site_no','date','wtr_lvl']
df = pd.read_csv('D:\info.txt', sep='\t',names=names)
我可以通过以下方式找到每个站点的平均值:
使用以下代码:
avg = df.groupby(['site_no'])['wtr_lvl'].mean().reset_index()
我的粗糙二进制尝试使用:
a1 = df[df.date > 19600000]
a2 = a1[a1.date < 19650000]
avga2 = a2.groupby(['site_no'])['wtr_lvl'].mean()
我的问题是:如何将结果连接以按期望的方式显示?我尝试了merge、join和append,但它们不允许空数据框(这种情况会发生)。另外,我确定有一种简单的方法可以按日期对数据进行分组。谢谢。