Ang*_*elo 8 python pandas data-science
我已经搜索了 pandas 文档和食谱,很明显您可以使用dataframe.columnName.round(decimalplace).
你如何用更大的数字做到这一点?
例如,我有一列房价,我希望它们四舍五入到最接近的 10000 或 1000 或其他。
df.SalesPrice.WhatDoIDo(1000)?
Run Code Online (Sandbox Code Playgroud)
PaS*_*STE 12
通过使用符号df.ColumnName.round(),您实际上是在调用pandas.Series.round,其文档指定:
小数:整数
要四舍五入的小数位数(默认值:0)。如果小数为负数,则指定小数点左侧的位数。
所以你可以这样做:
df = pd.DataFrame({'val':[1,11,130,670]})
df.val.round(decimals=-2)
Run Code Online (Sandbox Code Playgroud)
这会产生输出:
0 0
1 0
2 100
3 700
Name: val, dtype: int64
Run Code Online (Sandbox Code Playgroud)
decimals=-3舍入到 1000 秒,依此类推。值得注意的是,它也可以使用pandas.DataFrame.round(),尽管文档没有告诉你:
df = pd.DataFrame({'val':[1,11,130,670], 'x':[1,11,150,900]})
df.round({'val':-2})
Run Code Online (Sandbox Code Playgroud)
这会将列四舍五入val到最接近的 100,但不要x管它。