我正在尝试将浮点数的熊猫数据框列转换为百分比样式
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列 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)