Python-PandasでGroupByを使用して負の値と正の値を合計する
負の値と正の値の合計を見つける方法を見てみましょう。最初に、正と負の値を持つデータフレームを作成します-
dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]})
次に、groupbyを使用して、[配置]列に基づいてグループ化します-
groupRes = dataFrame.groupby(dataFrame['Place'])
ラムダ関数を使用して、正の値と負の値を返します。また、正の値と負の値を個別に追加しました-
# lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum()
例
以下は完全なコードです-
import pandas as pd # create a DataFrame with temperature in celsius dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]}) print(dataFrame) # using groupby to group on the basis of place groupRes = dataFrame.groupby(dataFrame['Place']) # lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum() print(groupRes['Temperature'].agg([('negTemp', minus), ('posTemp', plus)]))
出力
これにより、次のコードが生成されます-
Place Temperature 0 Chicago -2 1 Denver 30 2 Atlanta -5 3 Chicago 10 4 Dallas 30 5 Denver -5 6 Dallas 20 7 Atlanta -10 negTemp posTemp Place Atlanta -15 0 Chicago -2 10 Dallas 0 50 Denver -5 30
-
PythonPandas-補間法を使用してNaN値を入力します
Interpolate()メソッドを使用して、NaN値を入力します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") NaN値をinterpolate()-で埋めます dataFrame.interpolate() 例 以下はコードです- import pandas as pd # Load dat
-
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