Python 比较大熊猫不同年份的同一天
我是一个新手,仍在努力弄清楚熊猫-拆分/应用/合并才刚刚开始有意义,但我还没有做到 我试图获得前几年(2013-2015年)同一天的历史高位和低位销售电话号码,然后有另一个专栏告诉我2016年电话号码高于或低于前几年高位或低位的天数以及数值 以下是我迄今为止的尝试:Python 比较大熊猫不同年份的同一天,python,python-3.x,date,pandas,Python,Python 3.x,Date,Pandas,我是一个新手,仍在努力弄清楚熊猫-拆分/应用/合并才刚刚开始有意义,但我还没有做到 我试图获得前几年(2013-2015年)同一天的历史高位和低位销售电话号码,然后有另一个专栏告诉我2016年电话号码高于或低于前几年高位或低位的天数以及数值 以下是我迄今为止的尝试: df = pd.read_csv('filename.csv') df['Date'] = pd.to_datetime(df['Date']) df = df[(df['Date']>= '01/01/2013') &am
df = pd.read_csv('filename.csv')
df['Date'] = pd.to_datetime(df['Date'])
df = df[(df['Date']>= '01/01/2013') & (df['Date'] <= '12/31/2015')]
df['Month'] = df.Date.dt.month
df['Day'] = df.Date.dt.day
dfMAX = df[df['Element'] == "MAX"]
dfMAX = (dfMAX.groupby([dfMAX.Date.dt.month, dfMAX.Date.dt.day, 'Element'])
[['Data_Value']]
.agg(['max']))
我在这里发布了一个csv文件:
谢谢你的帮助,
Me我将使用以下步骤解决此问题:
.dt.dayofyear
在名为Day\u Of_Year的数据框中.agg
一起使用groupby
获取2013年至2015年的最小值和最大值,以创建
数据框每日记录pd.merge
,您可以设置2016年至今的索引以及
使用left\u index=True
和right\u index=True
合并索引 min max Date Element Value
DayofYear
1 545 1812 2016-01-01 MAX 1887
3 108 1815 2016-01-03 MAX 1906
4 496 1618 2016-01-04 MAX 1701
6 455 1864 2016-01-06 MIN 169
8 511 1771 2016-01-08 MIN 232
看到我的扰流板代码悬停在下面
df=pd.read\u csv('Downloads/Day\u Over\u Day.csv',parse\u dates=['Date'])1.df['DayofYear']=df['Date'].dt.DayofYear
2a。df_13_15=df.query('日期<“2016-01-01”)
2b。df_2016=df.query('Date>=“2016-01-01”)
3. & 4.df_Overlay=pd.merge(df_13_15.groupby('DayofYear')['Value'].agg('min','max']),df_2016.set_index('DayofYear'),left_index=True,right_index=True)
5.打印(df_覆盖[(df_覆盖['Value']
你能在这里提供示例数据(复制/可复制)吗?@Scott_Boston,感谢你的教育和在代码上加上“扰流板”的封面。像这样的答案是一种乐趣,可以帮助像我这样的人学到很多东西。非常感谢你,我。
min max Date Element Value
DayofYear
1 545 1812 2016-01-01 MAX 1887
3 108 1815 2016-01-03 MAX 1906
4 496 1618 2016-01-04 MAX 1701
6 455 1864 2016-01-06 MIN 169
8 511 1771 2016-01-08 MIN 232