python-浮动到百分比样式错误的Pandas dataframe列

python-浮动到百分比样式错误的Pandas dataframe列,第1张

概述我正在尝试将浮点数的熊猫数据框列转换为百分比样式C 0.9977 0.1234 1.000 .. 至C 99.77% 12.34% 100% ... 为此,我正在做:df['C'] = df['C'].map(lambda n: '{:.2%}'.format(n)) 但我收到以下错误:ValueError: Unknown format code '%'

我正在尝试将浮点数的熊猫数据框列转换为百分比样式

C0.99770.12341.000..

C99.77%12.34%100%...

为此,我正在做:

df['C'] = df['C'].map(lambda n: '{:.2%}'.format(n))

但我收到以下错误:

ValueError: UnkNown format code '%' for object of type 'str'

我也尝试了“ {:,.2%}”,但出现了相同的错误…

我做错了什么?

提前致谢!!

最佳答案首先将列转换为astype的浮点数:

df['C'] = df['C'].astype(float).map(lambda n: '{:.2%}'.format(n))

另外,解决方案应该简化:

df['C'] = df['C'].astype(float).map("{:.2%}".format)

编辑:

问题是列中有一些非数字值.

将非数字替换为0:

print (df)                  C0            0.99771            0.12342  Covered fractiondf['C'] = pd.to_numeric(df['C'],errors='coerce').fillna(0).map("{:.2%}".format)print (df)        C0  99.77%1  12.34%2   0.00%

或删除具有以下值的行:

df['C'] = pd.to_numeric(df['C'],errors='coerce')df = df.dropna(subset=['C'])df['C'] = df['C'].astype(float).map("{:.2%}".format)print (df)        C0  99.77%1  12.34%
总结

以上是内存溢出为你收集整理的python-浮动到百分比样式错误的Pandas dataframe列 全部内容,希望文章能够帮你解决python-浮动到百分比样式错误的Pandas dataframe列 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1199443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存