我试图获取存储在列表中的数据框名称,迭代 2 个循环。我没有像cat
or那样获取数据框名称本身,而是像.sunday
df
def get_df_name(df):
name =[x for x in globals() if globals()[x] is df][0]
return name
cat = pd.DataFrame()
dog = pd.DataFrame()
sunday = pd.DataFrame()
monday = pd.DataFrame()
for df in [cat, dog]:
for df1 in [sunday, monday]:
print('---------')
print(get_df_name(df) + ' and ' + get_df_name(df1))
目前我的输出如下
---------
df and df1
---------
df and df1
---------
df and df1
---------
df and df1
但我期待
---------
cat and sunday
---------
cat and monday
---------
dog and sunday
---------
dog and Monday
import pandas as pd
import inspect
def retrieve_name(var):
callers_local_vars = inspect.currentframe().f_back.f_globals.items()
return [var_name for var_name, var_val in callers_local_vars if var_val is var][0]
cat = pd.DataFrame()
dog = pd.DataFrame()
sunday = pd.DataFrame()
monday = pd.DataFrame()
list1,list2 = [cat, dog], [sunday, monday]
for x in range(len(list1)):
for y in range(len(list2)):
print('---------')
print(retrieve_name(list1[x]) + ' and ' +retrieve_name(list2[y]) )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句