亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何靈活更改dataframe的名稱?

如何靈活更改dataframe的名稱?

慕俠2389804 2023-06-27 18:33:02
我有許多數據幀,其名稱類似于 data_v1、data、v2、data_v3、data_v11、data_v12 等。現在我喜歡循環每個數據幀并對每個數據幀應用一個函數。所以我需要提供數據框名稱。因為第一部分的名稱相同。after_ 后的第二部分是不同的。那么如何按照下面的方式編寫數據框名稱呢?下面有一個錯誤,指出 data_ 未定義。非常感謝你的幫助variable=['v1','v2','v3','v11','v12','v13']for var in variable:    function(data_%s %var)
查看完整描述

3 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

  • 提供?AB

    • 這將創建一個字符串形式的數據框名稱列表

    • [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]

    • isinstance(eval(var), pd.core.frame.DataFrame)DataFrame在當前實例中找到任何一個。

import pandas as pd


# creates a list of strings

df_names_str = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]


# creates a list of dataframes

df_list = [eval(var) for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]


# creates a dict of dataframes

df_dict = {f'{var}': eval(var) for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)}


# test function

def test(v: pd.DataFrame):

? ? print(v.info())



# function call with list of dataframes

for var in df_list:

? ? test(var)


# function call with dict of dataframes

for k, v in df_dict.items():

? ? test(v)

使用你的循環

必須評估字符串名稱才能將其轉換為 pandas 數據框對象。

variable=['v1', 'v2', 'v3', 'v11', 'v12', 'v13']


for var in variables:

? ? function(eval(f'data_{var}'))


查看完整回答
反對 回復 2023-06-27
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

基本解決方案:


 variable=['v1','v2','v3','v11','v12','v13']

    for var in variable:

    function("data_"+var)


查看完整回答
反對 回復 2023-06-27
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

好的,啟發了您的所有幫助,我認為最好的解決方案是使用字典將數據幀的名稱保存為字典的鍵。

    for var in ['v1','v2','v3','v11','v12','v13']:
        function(data_dict['data_'+var.lower()])


查看完整回答
反對 回復 2023-06-27
  • 3 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號