1. ホーム
  2. python

[解決済み】2つのpandas DataFrameカラムの辞書を作成する方法

2022-04-14 01:20:19

質問

次のpandas Dataframeを整理する最も効率的な方法は何ですか。

データ =

Position    Letter
1           a
2           b
3           c
4           d
5           e

のような辞書に変換します。 alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e'] ?

解決方法は?

In [9]: pd.Series(df.Letter.values,index=df.Position).to_dict()
Out[9]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

速度比較(Wouterの方法による)

In [6]: df = pd.DataFrame(randint(0,10,10000).reshape(5000,2),columns=list('AB'))

In [7]: %timeit dict(zip(df.A,df.B))
1000 loops, best of 3: 1.27 ms per loop

In [8]: %timeit pd.Series(df.A.values,index=df.B).to_dict()
1000 loops, best of 3: 987 us per loop