相关疑难解决方法(0)

按一列分组,在pandas中查找另一列的和和最大值

我有这样的数据帧:

Name  id  col1  col2  col3  cl4 
PL    252  0     747   3     53  
PL2   252  1     24    2     35 
PL3   252  4     75    24    13 
AD    889  53    24    0     95 
AD2   889  23    2     0     13  
AD3   889  0     24    3     6  
BG    024  12    89    53    66 
BG1   024  43    16    13    0   
BG2   024  5     32    101   4   
Run Code Online (Sandbox Code Playgroud)

现在我需要按ID进行分组,并且对于列col1和col4找到每个id的总和并将其放入靠近父列的新列中(例如:col3(sum))但是对于col2和col3,找到最大值.期望的输出:

Name  id  col1 col1(sum) col2 col2(max) col3 col(max) col4 col4(sum)
PL    252  0       5      747    747     3     24 …
Run Code Online (Sandbox Code Playgroud)

python group-by dataframe pandas

6
推荐指数
4
解决办法
1万
查看次数

对 pandas 列执行条件操作

我知道这应该很简单,但我想从熊猫数据框中获取一列,并且仅对于满足某些条件(例如小于 1)的条目,乘以标量(例如 2)。

例如,在这个数据框中,

df = pd.DataFrame(randn(5,4),index='A B C D E'.split(),columns='W X Y Z'.split())

          W         X       Y        Z  

A    2.706850 0.628133 0.907969 0.503826 
B    0.651118 -0.319318 -0.848077 0.605965 
C    -2.018168 0.740122 0.528813 -0.589001 
D    0.188695 -0.758872 -0.933237 0.955057 
E    0.190794 1.978757 2.605967 0.683509 
Run Code Online (Sandbox Code Playgroud)

如果我有兴趣在 column 上执行此操作W,结果应该是

          W         X       Y        Z  

A    2.706850 0.628133 0.907969 0.503826 
B    1.302236 -0.319318 -0.848077 0.605965 
C    -4.036336 0.740122 0.528813 -0.589001 
D    0.37739 -0.758872 -0.933237 0.955057 
E    0.381588 1.978757 2.605967 0.683509
Run Code Online (Sandbox Code Playgroud)

我有以下绝对任务:

df.loc[df['W'] < …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

标签 统计

dataframe ×2

pandas ×2

python ×2

group-by ×1