26

質問

他の 2 つの列の値に基づいて新しい DataFrame 列を作成する方法がわかりません。if/elif/else ロジックを使用する必要があります。しかし、私が見つけたすべてのドキュメントと例は、if/else ロジックのみを示しています。これが私がやろうとしていることのサンプルです:

コード

df['combo'] = 'mobile' if (df['mobile'] == 'mobile') elif (df['tablet'] =='tablet') 'tablet' else 'other')

where() も使用できます。正しい構文を見つけるのに苦労しています。

4

5 に答える 5

52

複数の分岐ステートメントがある場合は、行を受け入れる関数を作成し、それを に沿って適用するのが最善axis=1です。これは通常、行の反復よりもはるかに高速です。

def func(row):
    if row['mobile'] == 'mobile':
        return 'mobile'
    elif row['tablet'] =='tablet':
        return 'tablet' 
    else:
        return 'other'

df['combo'] = df.apply(func, axis=1)
于 2013-08-12T18:50:11.493 に答える