对2,233
名受访者进行了调查,以下结果列在以下各列Very interested
,Somewhat interested
和Not interested
下
Very interested Somewhat interested Not interested
A. 1688, 444, 60,
B 1629, 477, 74,
C 1340, 734, 102,
D 1332, 729, 127,
E 1263, 770, 136,
如何将这些数字转换为被调查者总数的百分比,即2,233,并将百分比舍入到小数点后2位?
答案 0 :(得分:1)
使用示例数据,我删除了逗号,以便可以将其转换为整数,然后将实际值与百分比交换:
for col in list(df):
df[col] = df[col].str.replace(',','')
df[col] = pd.to_numeric(df[col])
(100. * df / 2233).round(2)
输出:
Very interested Somewhat interested Not interested
A. 75.59 19.88 2.69
B 72.95 21.36 3.31
C 60.01 32.87 4.57
D 59.65 32.65 5.69
E 56.56 34.48 6.09
答案 1 :(得分:0)
编辑
我只是用您提供的数据编写了一个小的excel文件,它可以正常工作:
我使用了以下excel文件:
void QMainWindows::resizeEvent(QResizeEvent *){
QRectF bounds = ui->graphQSYS->scene()->sceneRect();
ui->graphQSYS->fitInView(bounds, Qt::KeepAspectRatioByExpanding);
ui->graphQSYS->centerOn(bounds.center());
}
和代码:
Very Interested Somewhat Interested Not Interested
A 1688 444 60
B 1629 477 74
C 1340 734 102
D 1332 729 127
因此,首先我将我的excel文件加载并使其成为pandas Dataframe,然后将所有整数强制转换为浮点数,因此在存储2点浮点数时,小数点将不会被截断。然后遍历所有索引和列进行数学运算并将其存储在正确的位置。然后就完成了。为我工作
如果要将数据框保存回excel文件,则可以这样操作:
df = pandas.read_excel('./test.xlsx', sep=',', delimiter=None)
df = df.astype(float)
df = (100. * df/2233).round(2)
答案 2 :(得分:0)
对于您而言,我相信下面的代码会有所帮助。
df=(df/2233).style.format("{:.2%}")
答案 3 :(得分:-1)
df = df.astype(float)
df = (df/2233).round(2)