Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 - Fatal编程技术网

Python 如何在一个数据帧中组合连续数据并累加值

Python 如何在一个数据帧中组合连续数据并累加值,python,pandas,Python,Pandas,我有一个数据帧: Type: Volume: Date: Q 10 2016.6.1 Q 20 2016.6.1 T 10 2016.6.2 Q 10 2016.6.3 T 20 2016.6.4 T 20 2016.6.5 Q 10 2016.6.6 请注意,两个连续T的日期不同,我想选择第一个日期 我想将类型T合并到一行,并且仅当两个(或多个)

我有一个数据帧:

 Type:  Volume: Date:
 Q     10      2016.6.1
 Q     20      2016.6.1 
 T     10      2016.6.2 
 Q     10      2016.6.3
 T     20      2016.6.4
 T     20      2016.6.5
 Q     10      2016.6.6
请注意,两个连续T的日期不同,我想选择第一个日期

我想将类型T合并到一行,并且仅当两个(或多个)T是连续的时才加上体积

i、 e.致:

 Q     10      2016.6.1
 Q     20      2016.6.1 
 T     10      2016.6.2 
 Q     10      2016.6.3
 T     20+20=40 2016.6.4
 Q     10      2016.6.6
我现在使用的代码是:

df.groupby(by = [df.Type.ne('T').cumsum(),'Price', 'Time', 'Type'], as_index = False)['Volume'].sum()
但是,此代码仅在连续Ts的日期相同时有效。你知道如何把连续的T和不同的日期结合起来,只取第一个日期吗

输出:

  Type       Date  Volume
0    Q 2016-06-01      10
1    Q 2016-06-01      20
2    T 2016-06-02      10
3    Q 2016-06-03      10
4    T 2016-06-04      40
5    Q 2016-06-06      10

谢谢,但是我不想查找聚合值,我只想在有两个连续的Ts@bing确切地说是两个或多个?多个,也就是说,对于Q T Q T T Q T=>Q T Q T Q T谢谢你的回答。它适用于这个数据帧,但是,如果我得到了如上表所示的数据帧(更多列:MidPrice,L1 BidPrice…),并且我更改了代码,但它不起作用-MidPrice,L1 BidPrice似乎是0@bing嗯,你的问题似乎一直在变化。您只需要在
.agg
中添加新的列,根据您希望聚合每个列的方式(
sum
first
count
mean
,等等)。
  Type       Date  Volume
0    Q 2016-06-01      10
1    Q 2016-06-01      20
2    T 2016-06-02      10
3    Q 2016-06-03      10
4    T 2016-06-04      40
5    Q 2016-06-06      10