その条件付き参照の辞書に基づいてパンダに新しい列を作成する方法

デビッド・エクルズ:

私は正常化しようとしていますが、私は新しい列を作成すると、問題が生じていますというの在庫データを持っています。私は、ティッカーの列にあるものを参照し、キーとしてティッカー値を使用して、辞書から対応する値を取得することにより、ヤフーティッカーと呼ばれる新しい列に値を追加できるようにする必要があります。ここで私が使用している辞書のサンプルは次のとおりです。

dict = {'AAB': 'AAB.TO',
        'ABX': 'ABX.TO',
        'XDU': 'XDU-U.TO' }

私は例えば、私は、このデータフレームをオンにしたいので、辞書のキーオフに基づいて値を持つ私のデータフレームに列を追加します:

df = pd.DataFrame({'Ticker':['AAB','ABX','XDU'] })

このようなデータフレームへ:

newdf = pd.DataFrame({'Ticker':['AAB','ABX','AAV'],
                      'Yahoo Ticker':['AAB.TO','ABX.TO','XDU-U.TO']})

以前私はこれを試みたが、それは動作しませんでした

for index, value in df.iterrows():
    df.loc[df['Ticker'][index] in ticker_dictionary, 'Yahoo Tickers'] = ticker_dictionary[value]
ダニ・Mesejo:

あなたは使用することができマップを

import pandas as pd

df = pd.DataFrame({'Ticker': ['AAB', 'ABX', 'XDU']})

d = {'AAB': 'AAB.TO',
     'ABX': 'ABX.TO',
     'XDU': 'XDU-U.TO'}

df['Yahoo Ticker'] = df['Ticker'].map(d)
print(df)

出力

  Ticker Yahoo Ticker
0    AAB       AAB.TO
1    ABX       ABX.TO
2    XDU     XDU-U.TO

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=395476&siteId=1