小编mlx*_*mlx的帖子

在 Pandas 中按组保留 X% 的最后一行

使用类似df.groupby('ID').tail(N).

就我而言,组有不同的大小,我希望每个组保持相同的百分比而不是相同的行数。

例如,如果我们想为以下每个组(基于 ID)保留最后 50% 的行:

df = pd.DataFrame({'ID' : ['A','A','B','B','B','B','B','B'], 
'value' : [1,2,10,11,12,13,14,15]})
Run Code Online (Sandbox Code Playgroud)

结果是:

 pd.DataFrame({'ID' : ['A','A','B','B','B','B','B','B'], 
    'value' : [2,13,14,15]})
Run Code Online (Sandbox Code Playgroud)

我们怎样才能做到这一点?

编辑:如果 x% 不是 int,我们四舍五入到最小的更接近的 int。

python group-by pandas

6
推荐指数
3
解决办法
223
查看次数

将行中的最高值设置为1并在pandas中将其设置为0

我的原始数据框如下所示:

A       B       C
0.10    0.83    0.07
0.40    0.30    0.30
0.70    0.17    0.13    
0.72    0.04    0.24    
0.15    0.07    0.78    
Run Code Online (Sandbox Code Playgroud)

我希望每一行都被二进制化:1将被分配给具有最高值的列,其余的将被设置为0,因此之前的数据帧将变为:

A   B   C
0   1   0
1   0   0
1   0   0   
1   0   0   
0   0   1   
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点 ?
谢谢.

编辑:我理解一个特定的案例使我的问题含糊不清.我应该说,如果给定行的3列相等,我仍然希望获得[1 0 0]向量而不是[1 1 1]该行.

python conditional-statements pandas

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

在一个小节中绘制字典词典

我有一本像这样的字典

d = {
    'a' : {'L1':2, 'L2':5, 'L3':8},
    'b' : {'L1':4, 'L2':7, 'L3':10},
    'c' : {'L1':19, 'L2':0, 'L3':1},
}
Run Code Online (Sandbox Code Playgroud)

我想绘制一个图,其中x轴包含我的关键点,每个关键点具有3个对应于L1,L2和L3值的条形图。
总而言之,我的绘图将包含按键分组的9条(所以是3组3条)。

到目前为止,我所能做的就是将字典转换为数据框,然后对每个键使用seaborn的小节,但剩下3种不同的图。

是否可以将所有信息都包含在一个图中?

非常感谢。

python plot dictionary matplotlib bar-chart

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