Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不同的周之间选择数据并将其分组,以便将切片数据帧按周存储在阵列中?,_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何在不同的周之间选择数据并将其分组,以便将切片数据帧按周存储在阵列中?,

Python 如何在不同的周之间选择数据并将其分组,以便将切片数据帧按周存储在阵列中?,,python,pandas,dataframe,Python,Pandas,Dataframe,我想获得以下数据帧的每周高点低点收盘 所以我想根据周数对数据帧进行切片,并存储在一个数组中 日期开盘高低点收盘 01-08-2019 | 97.85 | 98.45 | 96.40 97.25 2019年8月2日| 97.15 | 98.95 | 96.75 98.15 2019年8月5日| 98.30 | 98.70 | 94.30 95.65 06-08-2019 | 95.75 | 97.75 | 95.20 97.05 07-08-2019 | 96.80

我想获得以下数据帧的每周高点低点收盘 所以我想根据周数对数据帧进行切片,并存储在一个数组中

  • 日期开盘高低点收盘

  • 01-08-2019 | 97.85 | 98.45 | 96.40 97.25


  • 2019年8月2日| 97.15 | 98.95 | 96.75 98.15

  • 2019年8月5日| 98.30 | 98.70 | 94.30 95.65

  • 06-08-2019 | 95.75 | 97.75 | 95.20 97.05

  • 07-08-2019 | 96.80 | 97.70 | 96.05 96.90

  • 08-08-2019 | 97.40 | 98.90 | 96.55 97.40

  • 09-08-2019 | 97.20 | 98.10 | 96.65 97.30

  • 2019年8月12日| 97.20 | 97.25 | 93.40 93.75

  • 2019年8月13日| 93.70 | 96.60 | 93.15 96.35

  • 14-08-2019 | 95.85 | 96.40 | 94.00 94.45
2019年8月1日、2019年8月2日为一周。 2019年8月5日、2019年8月6日、2019年8月8日、2019年8月8日、2019年9月8日是第二周
我希望数据帧中的数据应按周分组。

要更改基于时间的数据帧的频率,可以使用。以下代码应该可以工作:

(
    df
    .assign(Date=lambda x: pd.to_datetime(x['Date'], dayfirst=True)
    .set_index('Date')
    .asfreq('D')
    .resample('W')
    .agg({
       'High': 'max',
       'Low': 'min',
       'Open': lambda x: x.dropna().iloc[0],
       'Close': lambda x: x.dropna().iloc[-1]
    })
)

我得到了NaN值请查看链接我现在在您的数据中看到的是日期不是正确的日期,而是
DD-MM-YYYY
格式的字符串。在将日期列用作索引之前,请将日期列(df['date']=dp.)转换为_datetime(df['date'],dayfirst=True)。我将编辑我的答案以涵盖这一点。您也可以忽略
ilocs
上缺少的值。是的,数据是字符串格式的。我改了,谢谢它帮了我