有没有办法在不影响数据框其余部分的情况下对 pandas 中的单个列进行舍入?
>>> print(df)
item value1 value2
0 a 1.12 1.3
1 a 1.50 2.5
2 a 0.10 0.0
3 b 3.30 -1.0
4 b 4.80 -1.0
我已经尝试过以下方法:
>>> df.value1.apply(np.round)
0 1
1 2
2 0
3 3
4 5
5 5
使数据看起来像这样的正确方法是什么:
item value1 value2
0 a 1 1.3
1 a 2 2.5
2 a 0 0.0
3 b 3 -1.0
4 b 5 -1.0
5 c 5 5.0
你们非常接近。
您将舍入应用于由下式给出的一系列值df.value1
。
因此返回类型是一个Series。
您需要将该系列分配回数据帧(或具有相同索引的另一个数据帧)。
另外,还有一个pandas.Series.round方法基本上是一个简写pandas.Series.apply(np.round)
.
>>> df.value1 = df.value1.round()
>>> print df
item value1 value2
0 a 1 1.3
1 a 2 2.5
2 a 0 0.0
3 b 3 -1.0
4 b 5 -1.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)