2017-02-15 6 views
0

リストから名前の一部(条件として)でデータフレームを選択することはできますか?たとえば、次のdfから2行目(インデックス1)をdf_listの中の最後の2文字の「BA」で返したいとします。名前からリストからデータフレームを選択する

df_HO_BA = pd.DataFrame(
     {'bin': [0,3,2], 
     'LG': ['AR1', 'PO1', 'RU1']}) 

    LG bin 
0 AR1 0 
1 PO1 3 
2 RU1 2 

df_list = [df_HO_BA] 

答えて

2

代わりに、辞書にデータフレームを持ち、データフレームの名前に含まれる特定のキーワードに基づいて適切なデータフレームを呼び出すための関数を使用します。

df_HO_BA = pd.DataFrame(
     {'bin': [0,3,2], 
     'LG': ['AR1', 'PO1', 'RU1']}) 

df_dic = {'df_HO_BA':df_HO_BA} 

def return_df(dic, keyword): 
    for key in dic.keys(): 
     if keyword in key: 
      return df_dic[key] 
     else: 
      raise Exception('keyword "{0}" not found in any dataframe names'.format(keyword)) 

new_df = return_df(df_dic, 'BA') 
print new_df 

OUT: 
LG bin 
0 AR1 0 
1 PO1 3 
2 RU1 2 
+0

私は申し訳ありませんが、完全には明確ではありませんでした。名前の一部で選択する必要があります。私は質問を調整します – Zanshin

+0

フィードバックごとに更新 – NickBraunagel

+0

ありがとう、これは動作します。 – Zanshin

関連する問題