是否可以通过名称的一部分(作为条件)从列表中选择数据框?例如,我想从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]
答案 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