我将不同精度的浮点值列表从 csv 文件读取到 Pandas Series 中,并需要小数点后的位数。因此,对于 123.4567,我想得到 4。
我设法获取随机生成的数字的位数,如下所示:
df = pd.Series(np.random.rand(100)*1000)
precision_digits = (df - df.astype(int)).astype(str).str.split(".", expand=True)[1].str.len().max()
但是,如果我使用 pd.read_csv 从磁盘读取数据,其中某些行为空(因此填充了 nan),则会出现以下错误: ojit_代码
这里出了什么问题? 有更好的方法来完成我的需要吗?
最佳答案
pd.read_csv()
通常返回一个 DataFrame
对象。使用 .str
返回的 StringMethods
对象仅为 Series
对象定义。尝试使用pd.read_csv('your_data.csv',squeeze=True)
让它返回一个Series
对象;然后你就可以使用 .str
关于python - 如何获取 Pandas 系列中小数点后的最大位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51879063/