我試圖獲取存盤在串列中的資料框名稱,迭代 2 個回圈。我沒有像cator那樣獲取資料框名稱本身,而是像.sundaydf
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
uj5u.com熱心網友回復:
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]) )

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/493414.html
標籤:Python python-3.x 熊猫 数据框
