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