1. ホーム
  2. python

[解決済み] pandasで単一の列を丸める

2023-02-27 22:20:12

質問

データフレームの残りの部分に影響を与えることなく、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 . したがって、戻り値のタイプはシリーズです。 その系列をデータフレーム(または同じインデックスを持つ別のデータフレーム)に割り戻す必要があります。

また 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