【发布时间】:2020-10-16 12:52:07
【问题描述】:
我在将数据从数据帧转换为百分比格式并将其保留为浮点数时遇到问题。
我准备了一个简单的代码,它反映了我实际项目中的代码:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,15,size=(10, 4)), columns=list('ABCD'))
print(df)
cols = df.columns
for col in cols:
df[col] = df[col].astype(float).map(lambda n: '{:.4%}'.format(n))
print(df)
print(df.dtypes)
在我的实际项目中,我只需要选择包含特定字符串的列并对它们的值进行一些计算。最后,我必须将格式更改为小数点后 4 位的百分比。尽管我使用astype(float)我的值仍然是str。
因此,当我将数据框保存到 excel 文件时,值被粘贴为文本而不是数字。
此外,在从此数据框创建折线图时,我收到错误“不可散列的类型:'numpy.ndarray'。
请告知如何成功地将数据转换为百分比格式并将其保留为浮点数,以便在 excel 文件中准确粘贴并使用 matplotlib 创建折线图。
非常感谢!
【问题讨论】:
标签: python pandas floating-point percentage