【问题标题】:Change each cell in a pandas data frame to percentages将 pandas 数据框中的每个单元格更改为百分比
【发布时间】:2020-06-23 20:24:46
【问题描述】:

我有一个数据集,每列读取 13 个 csv 文件。每行代表集群(共 4 个),数据反映了每个文件在每个集群中出现的频率。我的问题是如何将每个单元格转换为百分比?这就是我的数据框现在的样子:

这是我想要的样子:

row_0    001.csv    002.csv    003.csv    004.csv   005.csv
0        0%         0.35%
1        86.08%     0%
2        0.07%      0%
3        0.06%      1.24%

每个单元格中的每个值都在 10,000 以内。

【问题讨论】:

标签: python pandas csv dataframe percentage


【解决方案1】:

因为你的总数是10000,你可以除以100并格式化:

# random data
np.random.seed(1)
df = pd.DataFrame(np.random.choice([2345, 123, 6789], 
                                   size=(5,5))
                 )
df.div(100).astype('str').add('%')

输出:

        0       1       2       3       4
0   1.23%  23.45%  23.45%   1.23%   1.23%
1  23.45%  23.45%   1.23%  23.45%   1.23%
2  23.45%  67.89%   1.23%  67.89%  23.45%
3  67.89%   1.23%  67.89%  23.45%  23.45%
4  67.89%  23.45%   1.23%  67.89%  67.89%

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 2017-08-08
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    相关资源
    最近更新 更多