2024-10-06 16:20:39 发布
网友
我有一个熊猫数据框,df,看起来像这样:
Cut-off <=35 >35 Calcium 0.0 1.0 Copper 1.0 0.0 Helium 0.0 8.0 Hydrogen 0.0 1.0
如何删除小数点,使数据帧如下所示:
Cut-off <= 35 > 35 Calcium 0 1 Copper 1 0 Helium 0 8 Hydrogen 0 1
我试过df.round(0)但没有成功。
df.round(0)
你有几个选择。。。
1)将所有内容转换为整数。
df.astype(int) <=35 >35 Cut-off Calcium 0 1 Copper 1 0 Helium 0 8 Hydrogen 0 1
2)使用round:
round
>>> df.round() <=35 >35 Cut-off Calcium 0 1 Copper 1 0 Helium 0 8 Hydrogen 0 1
但并不总是很好。。。
>>> (df - .2).round() <=35 >35 Cut-off Calcium -0 1 Copper 1 -0 Helium -0 8 Hydrogen -0 1
3)更改熊猫中的显示精度选项。
pd.set_option('precision', 0) >>> df <=35 >35 Cut-off Calcium 0 1 Copper 1 0 Helium 0 8 Hydrogen 0 1
由于pandas 0.17.1,您可以通过modifying the style of the particular data frame设置显示的数值精度,而不是设置全局选项:
import pandas as pd import numpy as np np.random.seed(24) df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC')) df
df.style.set_precision(2)
也可以应用特定于列的样式
df.style.format({ 'A': '{:,.1f}'.format, 'B': '{:,.3f}'.format, })
你有几个选择。。。
1)将所有内容转换为整数。
2)使用
round
:但并不总是很好。。。
3)更改熊猫中的显示精度选项。
由于pandas 0.17.1,您可以通过modifying the style of the particular data frame设置显示的数值精度,而不是设置全局选项:
也可以应用特定于列的样式
相关问题 更多 >
编程相关推荐