按名称从列表中选择数据框

时间:2017-02-15 13:49:06

标签: python pandas

是否可以通过名称的一部分(作为条件)从列表中选择数据框?例如,我想从df_list中的以下df返回第2行(索引1),最后两个字母为“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]

1 个答案:

答案 0 :(得分: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