相关疑难解决方法(0)

如何从一列中对pandas数据帧进行排序

我有一个这样的数据框:

print(df)

        0          1     2
0   354.7      April   4.0
1    55.4     August   8.0
2   176.5   December  12.0
3    95.5   February   2.0
4    85.6    January   1.0
5     152       July   7.0
6   238.7       June   6.0
7   104.8      March   3.0
8   283.5        May   5.0
9   278.8   November  11.0
10  249.6    October  10.0
11  212.7  September   9.0
Run Code Online (Sandbox Code Playgroud)

如您所见,月份不是日历顺序.所以我创建了第二列,以获得与每个月相对应的月份数(1-12).从那里,我如何根据日历月的顺序对此数据框进行排序?

python sorting pandas

178
推荐指数
11
解决办法
24万
查看次数

Pandas Python Groupby 累积和反向

我发现Pandas groupby 累积总和并发现它非常有用。但是,我想确定如何计算反向累积和。

该链接建议如下。

df.groupby(by=['name','day']).sum().groupby(level=[0]).cumsum()
Run Code Online (Sandbox Code Playgroud)

为了反转总和,我尝试对数据进行切片,但失败了。

df.groupby(by=['name','day']).ix[::-1, 'no'].sum().groupby(level=[0]).cumsum()


Jack | Monday    | 10 | 90
Jack | Tuesday   | 30 | 80
Jack | Wednesday | 50 | 50
Jill | Monday    | 40 | 80
Jill | Wednesday | 40 | 40 
Run Code Online (Sandbox Code Playgroud)

编辑:根据反馈,我尝试实现代码并使数据框更大:

import pandas as pd
df = pd.DataFrame(
    {'name': ['Jack', 'Jack', 'Jack', 'Jill', 'Jill'],
     'surname' : ['Jones','Jones','Jones','Smith','Smith'],
     'car' : ['VW','Mazda','VW','Merc','Merc'],
     'country' : ['UK','US','UK','EU','EU'],
     'year' : [1980,1980,1980,1980,1980],
     'day': ['Monday', 'Tuesday','Wednesday','Monday','Wednesday'],
     'date': ['2016-02-31','2016-01-31','2016-01-31','2016-01-31','2016-01-31'],
     'no': [10,30,50,40,40],
     'qty' : …
Run Code Online (Sandbox Code Playgroud)

python reverse group-by pandas

5
推荐指数
1
解决办法
2231
查看次数

如何计算一列的累计和并创建新列?

我有一个 pyspark 数据框:

Location    Month       Brand   Sector  TrueValue   PickoutValue
USA         1/1/2021    brand1  cars1   7418        30000       
USA         2/1/2021    brand1  cars1   1940        2000        
USA         3/1/2021    brand1  cars1   4692        2900        
USA         4/1/2021    brand1  cars1                           
USA         1/1/2021    brand2  cars2   16383104.2  16666667    
USA         2/1/2021    brand2  cars2   26812874.2  16666667    
USA         3/1/2021    brand2  cars2                           
USA         1/1/2021    brand3  cars3   75.6%       70.0%
USA         3/1/2021    brand3  cars3   73.1%       70.0%
USA         2/1/2021    brand3  cars3   77.1%       70.0%
Run Code Online (Sandbox Code Playgroud)

我有每个品牌从 1/1/2021 到 12/1/2021 的月份值。我需要创建另一列,其中包含基于品牌和部门并按月排序的 TrueValue 列的累积总和。具有%值的行应该是累积总和除以月数。

我的预期数据框是:

Location    Month       Brand   Sector  TrueValue   PickoutValue    TotalSumValue …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

3
推荐指数
1
解决办法
215
查看次数

Python-熊猫-展开/删除累计金额

我有一个类似以下的数据框(下面是特定数据,这是通用的)。否给我累加的总和:

                 no
name day           
Jack Monday      10
     Tuesday     40
     Wednesday   90
Jill Monday      40
     Wednesday  150
Run Code Online (Sandbox Code Playgroud)

我想“展开”累计金额,以便给我这样的东西:

print df
   name        day   no
0  Jack     Monday   10
1  Jack    Tuesday   30
2  Jack  Wednesday   50
3  Jill     Monday   40
4  Jill  Wednesday  110
Run Code Online (Sandbox Code Playgroud)

本质上,我想执行以下操作,但相反: 熊猫groupby累积和

python dataframe python-2.7 pandas

2
推荐指数
1
解决办法
586
查看次数