59

いくつDataFrameかの列があります。1 つの列には、通貨が使用されている記号 (ユーロやドル記号など) が含まれています。別の列には予算値が含まれています。たとえば、ある行ではユーロで 5000 の予算を意味し、次の行ではドルで 2000 の予算を意味する場合があります。

パンダでは、DataFrame に追加の列を追加して、予算をユーロで正規化したいと考えています。したがって、基本的に、各行の新しい列の値は予算列の値にする必要があります * 1 通貨列の記号がユーロ記号の場合、新しい列の値は予算列の値にする必要があります *通貨列の記号がドル記号の場合は 0.78125。

列を追加する方法、値を入力する方法、別の列から値をコピーする方法などは知っていますが、別の列の値に基づいて条件付きで新しい列に入力する方法はわかりません。

助言がありますか?

4

4 に答える 4

106

あなたはおそらくやりたい

df['Normalized'] = np.where(df['Currency'] == '$', df['Budget'] * 0.78125, df['Budget'])
于 2012-05-23T19:05:57.160 に答える