将 pandas 数据框中的每个单元格更改为百分比

Change each cell in a pandas data frame to percentages

我有一个数据集,每列读取 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。

因为你的总数是 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%