動作検証バージョン:Windows 11 Home + Python 3.10.6 + Jupyter Notebook 6.5.3 + pandas 2.0.1
「dataframe マイナスの値をプラスに python」
といった検索キーワードでアクセスがありました。
Pythonの外部ライブラリ「pandas」のDataFrameで、マイナスの値(負の値)をプラスの値(正の値)にするにはどうすればいいのかを調べていらしたのでしょうか。
[スポンサードリンク]
マイナスの値をプラスにして、プラスの値はプラスのままでいいのであれば、絶対値を求めれば良さそうです。
DataFrame全要素の絶対値を取得する
DataFrame.abs()メソッドを使えば、各要素の絶対値が求められます。
以下のコードを実行すると、DataFrame全要素の絶対値を取得できます。
import pandas as pd
sample_data = {
'x':[1, -2, -3, 4],
'y':[-0.4, 0.3, 0.2, -0.1],
}
df = pd.DataFrame(sample_data)
df_abs = df.abs()jupyter notebookで確認すると、下図のとおりです。
全要素が数値でなければエラーに
全要素が数値でない場合にabs()メソッドを実行すると、エラーが発生します。
sample_data = {
'x':[1, -2, -3, 'fuga'],
'y':[-0.4, 0.3, 0.2, -0.1],
}
df = pd.DataFrame(sample_data)
元データに上記のように数値ではないデータが含まれているときに、
df_abs = df.abs()
を実行すると、
TypeError: bad operand type for abs(): 'str'
エラーとなります。
DataFrameの特定列の絶対値を取得する
全要素ではなく、特定の列の絶対値を取得することも可能です。
先ほどのコードにつづけて
y_abs = df['y'].abs()
を実行すると、下図のようにy列の絶対値を取得できます。
[スポンサードリンク]
Home » Python » pandasの使い方 » pandasのDataFrameのマイナス値をプラスに-DataFrame.abs()メソッド