Pandas DataFrameでIF、else、elseif条件を適用する方法

アービンドパンツ

パンダのDataFrameに国名の列があります。if-else条件を使用して列にさまざまなフィルターを適用し、それらの条件を使用してそのDataFrameに新しい列を追加する必要があります。

現在のデータフレーム:-

Company Country
BV 	Denmark
BV 	Sweden
DC 	Norway
BV 	Germany
BV 	France
DC 	Croatia
BV 	Italy
DC 	Germany
BV 	Austria
BV 	Spain

私はこれを試しましたが、これでは、何度も何度も国を定義する必要があります。

Bookings_d2.loc [(bookings_d2.Country == 'デンマーク')| (bookings_d2.Country == 'ノルウェー')、 '国'] = Bookings_d2.Country

RIでは現在このようなifelse条件を使用していますが、これと同じことをPythonで実装したいと思います。

Rコード例1:ifelse(bookings_d2 $ COUNTRY_NAME%in%c( 'Denmark'、 'Germany'、 'Norway'、 'Sweden'、 'France'、 'Italy'、 'Spain'、 'Germany'、 'Austria' 、 'Netherlands'、 'C​​roatia'、 'Belgium')、as.character(bookings_d2 $ COUNTRY_NAME)、 'Others')

Rコード例2:ifelse(bookings_d2 $ country%in%c( 'Germany')、ifelse(bookings_d2 $ BOOKING_BRAND%in%c( 'BV')、 'Germany_BV'、 'Germany_DC')、bookings_d2 $ country)

期待されるDataFrame:-

Company Country
BV 	Denmark
BV 	Sweden
DC 	Norway
BV 	Germany_BV
BV 	France
DC 	Croatia
BV 	Italy
DC 	Germany_DC
BV 	Others
BV 	Others

ジェズリール

次を使用できます。

例1:または使用Series.isinしますが、必要な反転マスクnumpy.whereloc~

#removed Austria, Spain
L = ['Denmark','Germany','Norway','Sweden','France','Italy',
     'Germany','Netherlands','Croatia','Belgium']

df['Country'] = np.where(df['Country'].isin(L), df['Country'], 'Others')

代替:

df.loc[~df['Country'].isin(L), 'Country'] ='Others'

例2:使用numpy.selectまたはネストnp.where

m1 = df['Country'] == 'Germany'
m2 = df['Company'] == 'BV'
df['Country'] = np.select([m1 & m2, m1 & ~m2],['Germany_BV','Germany_DC'], df['Country'])

代替:

df['Country'] = np.where(~m1, df['Country'],
                np.where(m2, 'Germany_BV','Germany_DC'))
print (df)
  Company     Country
0      BV     Denmark
1      BV      Sweden
2      DC      Norway
3      BV  Germany_BV
4      BV      France
5      DC     Croatia
6      BV       Italy
7      DC  Germany_DC
8      BV      Others
9      BV      Others

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

pandas DataFrame、特定の列に関数を適用する方法は?

分類Dev

PANDASの条件を満たす行にラムダ関数を適用する方法

分類Dev

Pandasパネルの各DataFrameに関数を効率的に適用する方法

分類Dev

Pandas DataFrame:複数の条件で行を選択する方法は?

分類Dev

データ型を条件として、Pandas DataFrameの列に関数を適用する

分類Dev

DataFrame全体に関数を適用するPandasメソッド

分類Dev

pandas groupbyを使用し、ラムダを適用してブール条件を評価する方法

分類Dev

複数のフィルターをpandas DataFrameまたはSeriesに適用する効率的な方法

分類Dev

python - %LIKE% を適用する pandas の vlookup

分類Dev

Pandas DataFrameの速度を最適化する方法は?

分類Dev

Python PandasでCSVにGZIP圧縮を適用する

分類Dev

to_htmlを使用してCSSクラスをPandas DataFrameに適用する

分類Dev

カスタム クラス/関数を Pandas DataFrame に適用する

分類Dev

Pandas Dataframe行を条件付きで削除する

分類Dev

<、>条件で2つのテーブルを結合するPandas DataFrame

分類Dev

pandasデータフレームの条件でdoubleforループを最適化する方法は?

分類Dev

Pandas DataFrame 適用効率

分類Dev

Pandas isocalendar()を単一の日付ではなく日付のリストに適用する方法

分類Dev

PandasデータフレームでIfElseステートメントを適用する方法は?

分類Dev

複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

分類Dev

Pandas DataFrameの過剰なラムダ関数を回避する方法DataFrameの割り当てとメソッドチェーンの適用

分類Dev

論理式を使用したDataFrameを別のDataFrameに適用する(Pandasウィザードが必要)

分類Dev

pandas –関数をDataFrameに行方向に適用し、異なる次元の新しいDataFrameを作成します

分類Dev

Pandasデータフレームの特定の列にLabelEncoderを適用する方法

分類Dev

リストを使用してPandas DataFrameから条件付きで重複を削除する方法

分類Dev

pandas.DataFrameの条件を満たす行値を挿入する方法

分類Dev

inplace = Trueで選択した列にpandas.DataFrame.replaceを適用するにはどうすればよいですか?

分類Dev

Pandasデータフレームのすべての要素にif / then条件を適用する

分類Dev

Pandas DataFrameに条件付きで1つのホットベクトルを追加する方法

Related 関連記事

  1. 1

    pandas DataFrame、特定の列に関数を適用する方法は?

  2. 2

    PANDASの条件を満たす行にラムダ関数を適用する方法

  3. 3

    Pandasパネルの各DataFrameに関数を効率的に適用する方法

  4. 4

    Pandas DataFrame:複数の条件で行を選択する方法は?

  5. 5

    データ型を条件として、Pandas DataFrameの列に関数を適用する

  6. 6

    DataFrame全体に関数を適用するPandasメソッド

  7. 7

    pandas groupbyを使用し、ラムダを適用してブール条件を評価する方法

  8. 8

    複数のフィルターをpandas DataFrameまたはSeriesに適用する効率的な方法

  9. 9

    python - %LIKE% を適用する pandas の vlookup

  10. 10

    Pandas DataFrameの速度を最適化する方法は?

  11. 11

    Python PandasでCSVにGZIP圧縮を適用する

  12. 12

    to_htmlを使用してCSSクラスをPandas DataFrameに適用する

  13. 13

    カスタム クラス/関数を Pandas DataFrame に適用する

  14. 14

    Pandas Dataframe行を条件付きで削除する

  15. 15

    <、>条件で2つのテーブルを結合するPandas DataFrame

  16. 16

    pandasデータフレームの条件でdoubleforループを最適化する方法は?

  17. 17

    Pandas DataFrame 適用効率

  18. 18

    Pandas isocalendar()を単一の日付ではなく日付のリストに適用する方法

  19. 19

    PandasデータフレームでIfElseステートメントを適用する方法は?

  20. 20

    複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

  21. 21

    Pandas DataFrameの過剰なラムダ関数を回避する方法DataFrameの割り当てとメソッドチェーンの適用

  22. 22

    論理式を使用したDataFrameを別のDataFrameに適用する(Pandasウィザードが必要)

  23. 23

    pandas –関数をDataFrameに行方向に適用し、異なる次元の新しいDataFrameを作成します

  24. 24

    Pandasデータフレームの特定の列にLabelEncoderを適用する方法

  25. 25

    リストを使用してPandas DataFrameから条件付きで重複を削除する方法

  26. 26

    pandas.DataFrameの条件を満たす行値を挿入する方法

  27. 27

    inplace = Trueで選択した列にpandas.DataFrame.replaceを適用するにはどうすればよいですか?

  28. 28

    Pandasデータフレームのすべての要素にif / then条件を適用する

  29. 29

    Pandas DataFrameに条件付きで1つのホットベクトルを追加する方法

ホットタグ

アーカイブ