Pandas - 根据第一列值按百分比转换列

刺猬

有一个包含总数和计数的数据框:

pd.DataFrame({
            'categorie':['a','b','c'],
            'total':[100,1000,500],
            'x':[10,100,5],
            'y':[100,1000,500]
         })
类别 全部的 X
一种 100 10 100
1000 100 1000
C 500 5 500

我喜欢根据总数将计数列转换为百分比:

类别 全部的 X% 和%
一种 100 10 100
1000 10 100
C 500 1 100

以下将适用于一系列:

(100 * df['x'] / df['total']).round(1)

如何将其应用于数据框中的所有列?

阿努拉格·达巴斯

尝试通过div()mul()astype()方法:

df[['x%','y%']]=df[['x','y']].div(df['total'],axis=0).mul(100).astype(int)

的输出df

    categorie   total   x       y       x%      y%
0   a           100     10      100     10      100
1   b           1000    100     1000    10      100
2   c           500     5       500     1       100

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Pandas:每一列的nan的百分比

向 Pandas Dataframe 添加一列,隨機填充百分比分割的值

Pandas:根据其他列中的值变化删除数据框的百分比

pandas 计算值占总数的百分比,其中总数是每个唯一的列值

在同一输出上具有频率,行百分比和列百分比的Pandas Crosstab

如何为一个 Pandas Dataframe 列中的所有值添加或减去某个百分比?

Python Pandas-在Groupby DF上将列转换为百分比

Python / Pandas-性能-计算列中某个值的出现百分比

计算 Pandas 数据框中列值之间的百分比变化

Pandas 数据框 Python 使用列值查找百分比分布

Pandas Group由两列组成,基于一列计算总计,但基于聚合器的总计计算百分比

如何對 Pandas 列進行分組以創建新的百分比列

将 Pandas 数据框值转换为百分比

将下一条记录提取到 Pandas 列中的百分位值

根据每个唯一列值计算百分比

筛选Pandas DataFrame以获取缺失值的百分比

Pandas Python groupby 多列 - 根据具有特定值的第一列按列 2 中的值对行进行排序

Pandas 根据第一列将行转换为列

如何获取 Pandas 中 DataFrame 的第一个和最后一个值的百分比变化

通过另一个列值计算每个列组的百分位值-Pandas DataFrame

如何在 Pandas 数据框中创建带有百分比等的列

python / pandas中多个列的百分比范围输出

python pandas百分比随数据帧的列而变化

在Python Pandas中使用groupby从布尔(True / False)列返回百分比结果

获取百分比变化,其中轴等于python pandas中的列?

如何使用列共享的项目百分比制作新的Pandas DataFrame

Pandas数据框:以百分比为从相同字符串开始的行添加列

如何使用Pandas Groupby计算每列中总计的百分比

使用Pandas(或numpy)比较两列并计算百分比差异