私は都市とダミー変数のリストを持っています。 A 1は不正注文があったことを示し、0は注文が良好であったことを示します。私は、注文が何パーセントの不正であったかを判断しようとしています。 パンダのgroupbyオブジェクトで合計と分割を作成する
- グループ:したがって
は、私がしようとしています。
マイデータフレーム:
df_city = pd.DataFrame({'City':['LA', 'NYC', 'NYC', 'LA', 'Chicago', 'NYC'],
'isFraud':[1, 0, 0, 1, 0, 1]})
私はでき都市別グループ:
group = df['isFraud'].groupby(df['City']).count()
City LA 2
NYC 3
Chicago 1
しかし、上記の彼らは、閾値を満たしているかどうか抜け出すことはありません。
は、私は、各ダミーの列を作成しました:私は合計列を取得し、パーセントを計算することができる方法/場合df_fraud = pd.get_dummies(df_city['isFraud'])
df_city = df_city.join(df_fraud)
df_city.rename(columns={0 : 'Non-Fraud', 1 : 'Fraud'}, inplace=True)
df_city['Fraud'].where(df_city['Fraud'] == 0, np.nan)
df_city['Non-Fraud'].where(df_city['Non-Fraud'] == 0, 1)
#Group by City
group_fraud_rate = df_city[['Fraud', 'Non-Fraud']].groupby(df_city['ship_city']).count()`
Fraud Non-Fraud
LA 2 0
NYC 1 2
Chicago 0 1
は、しかし、私はよく分かりません。
ご協力いただきましてありがとうございます。
FutureWarning:名前を変更してdictを使用することは推奨されず、将来のバージョンで削除されます。ディクショナリの名前変更は、次の[docs]に従って0.20で廃止されました(http://pandas.pydata.org/pandas-docs/version/0.20/whatsnew.html#deprecate-groupby-agg-with-a-dictionary-when-名前変更)。 –
@Scottに感謝します。このような便利な機能が削除されるのを見て悲しいです。 – Allen
うまくやった。 =) – Moondra