Python-PandasDataFrameで負の値を直前の正の値に置き換えます
負の値を最新の前の正の値に置き換えたいと思います。それで、正の先行値がない場合、値は0に更新されます。
入力
たとえば、入力は-
です。DataFrame: One two 0 -2 -3 1 4 -7 2 6 5 3 0 -9
出力
出力は-
である必要がありますOne two 0 0 0 1 7 0 2 4 2 3 0 2
データフレームマスキングは、負の値を置き換えるために使用されます。欠落している値を埋めるために、フォワードフィルを使用しました。まず、パンダのデータフレームを作成しましょう-
# create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0], 'two': [-6, -1, 2, -8]})
マスキングを実行してみましょう-
df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32')
例
以下はコードです-
import pandas as pd # create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0],'two': [-6, -1, 2, -8]}) # displaying the DataFrame print"DataFrame: \n",df # masking df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32') # displaying the updated DataFrame print"\nUpdated DataFrame: \n",df
出力
これにより、次の出力が生成されます-
DataFrame: One two 0 -3 -6 1 7 -1 2 4 2 3 0 -8 Updated DataFrame: One two 0 0 0 1 7 0 2 4 2 3 0 2
-
PythonPandas-DataFrame内のすべてのNaN要素を0に置き換えます
NaN値を置き換えるには、fillna()メソッドを使用します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- まず、必要なライブラリをインポートします- import pandas as pd CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") fillna()メソッドを使用してNaN値を0に置き換えます- dataFrame.fillna(0)
-
Python Pandas –null以外の値を逆方向に伝播する
「方法」を使用します ” fillnaのパラメータ () 方法。後方塗りつぶしには、値「bfill」を使用します 以下に示すように- fillna(method='bfill') 以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- まず、必要なライブラリをインポートします- import pandas as pd CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesD