我有一個龐大的資料框串列,我想按名稱排序
示例:
Data_frames_list = [sensor 1 (South), sensor 6 (North), sensor 3 (South), sensor 1 (North), ...]
我想按傳感器編號對其進行排序(這些是包含大量行的資料框名稱)。
最終結果示例:
Data_frames_list = [sensor 1 (South), sensor 1 (North), sensor 2 (South), sensor 2 (North), sensor 3 (South), ...]
有人知道我該如何進行嗎?
uj5u.com熱心網友回復:
您需要在排序之前獲取變數名稱。您可以通過創建如下函式來獲取變數名稱:
def namestr(obj, namespace, prefix='sensor'):
for name in namespace:
if namespace[name] is obj and name.startswith(prefix):
return name
那么您可以使用此方法對串列進行排序,例如:
Data_frames_list.sort(key=lambda df: namestr(df, globals()))
在namestr()函式中,prefix使用引數是因為如果有另一個變數指向資料框,則排序可能會出現問題,因為globals()將回傳所有當前全域符號表的字典
注意:代碼將根據變數名排序,變數名是一個字串,所以sensor 11會在sensor 2.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415733.html
標籤:
