有没有办法在 Pandas 中舍入单个列而不影响数据框的其余部分?
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)
的简写形式。
In[2]:
df.value1 = df.value1.round()
print df
Out[2]:
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
关于python - 在 Pandas 中绕一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26133538/