格式化 2D Numpy 数组 Float -> Percentage
Formatting a 2D Numpy Array Float -> Percentage
我有一个 2D numpy 数组,例如
x = np.array([[3,3],[3,1]])
Out[107]:
array([[3, 3],
[3, 1]])
我想将其格式化为打印总数的百分比:
array([['33.3%', '33.3%'],
['33.3%', '10.0%']]
我已经尝试了 here and here 的一些解决方案,但还没有使它们起作用:
pct_formatter = lambda x: "{:.2%}".format(x/x.sum() * 100 )
pct_formatter(x)
TypeError: non-empty format string passed to object.__format__
另一次尝试:
with np.set_printoptions(formatter=pct_formatter):
print(pct_formatter(x))
AttributeError: __exit__
#user a dataframe to format the numbers and then convert back to a numpy array.
pd.DataFrame(x/float(np.sum(x))).applymap(lambda x: '{:.2%}'.format(x)).values
Out[367]:
array([['30.00%', '30.00%'],
['30.00%', '10.00%']], dtype=object)
我有一个 2D numpy 数组,例如
x = np.array([[3,3],[3,1]])
Out[107]:
array([[3, 3],
[3, 1]])
我想将其格式化为打印总数的百分比:
array([['33.3%', '33.3%'],
['33.3%', '10.0%']]
我已经尝试了 here and here 的一些解决方案,但还没有使它们起作用:
pct_formatter = lambda x: "{:.2%}".format(x/x.sum() * 100 )
pct_formatter(x)
TypeError: non-empty format string passed to object.__format__
另一次尝试:
with np.set_printoptions(formatter=pct_formatter):
print(pct_formatter(x))
AttributeError: __exit__
#user a dataframe to format the numbers and then convert back to a numpy array.
pd.DataFrame(x/float(np.sum(x))).applymap(lambda x: '{:.2%}'.format(x)).values
Out[367]:
array([['30.00%', '30.00%'],
['30.00%', '10.00%']], dtype=object)