如何使用熊猫比较和计算高/低价值

时间:2019-08-15 00:13:35

标签: python-3.x pandas dataframe

以下是基于minute的{​​{1}}:

df

我想使用第一个GMT_Time Open 2017-01-03 07:00:00 5.2475 2017-01-03 07:01:00 5.2475 2017-01-03 07:02:00 5.2475 2017-01-03 07:03:00 5.2475 2017-01-03 07:04:00 5.2475 2017-01-03 07:05:00 5.2475 2017-01-03 07:06:00 5.2475 ..... GMT_Time Open并获得Value(07:00:00)COUNT与{{ 1}} Low High。。

我的新07:00:00应该看起来像这样:

  • 这是一个基于Open的数据集
  • Value值是我们用来比较的值
  • df是大于DayOpen的值的计数
  • High是小于Open07:00:00的值的计数
  • Low是等于Open07:00:00的值的计数

    Same

我做了什么?

通过执行以下操作,我可以找到给定日期的Open07:00:00值:

GMT_Time                Open     High     Low    Same   
2017-01-03 07:00:00     5.2475   234      346    32 
2017-01-04 07:00:00     6.2475   234      346    12 
2017-01-05 07:00:00     4.2475   234      346    14 

但是我试图找到与High low相比的df.groupby(df['GMT_Time'].dt.floor('D')).Open.agg(['min','max']) High值的总数。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用transform

df['DIFF']=df.groupby(df.GMT_Time.dt.date,sort=False).Open.transform('first')
pd.crosstab([df.GMT_Time.dt.date,df.DIFF], np.sign(df.Open-df.DIFF))
col_0              0.0
GMT_Time   DIFF       
2017-01-03 5.2475    7