python - 如何获取 Pandas 系列中小数点后的最大位数

标签 python pandas dataframe

我将不同精度的浮点值列表从 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/

相关文章:

python - 如何在 z3 的 Python API 中实现位向量数组

python - 从列转换为日期时间

python - 如何将 Pandas 查找表应用于 numpy 数组?

pandas - 在 Pandas 数据框中连接字符串和整数(基于条件)

python - 如何使用 apply 函数删除大数据框中的单词

r - 当列为 num 时,列被错误标记为 int

python - pandas.read_csv()时如何抑制科学记数法?

python - 生成此类列表的 pythonic 方式是什么? (n 维立方体的面)

python - 在 Django 中管理多个文件上传

python - 如何向此列表框添加滚动条