我有一個字典串列,如下所示:
matrices = [
{ "name": 'dark_matter_and_gas', 'matrix': dark_matter_a_matrix},
{ "name": 'dark_matter_and_gas', 'matrix': dark_matter_b_matrix},
{ "name": 'dark_matter_and_gas', 'matrix': dark_matter_c_matrix},
{ "name": 'dark_matter_and_gas', 'matrix': dark_matter_d_matrix},
{ "name": 'dark_matter_and_gas', 'matrix': dark_matter_e_matrix},
]
其中每個'matrix'值都是一個 pandas 矩陣物件,dark_matter_a_matrix.dtypes例如,為每個矩陣回傳一系列浮點數。
現在我想在一行中對字典中的所有矩陣進行一些轉換。
轉換將function(matrix)立即將一些應用于所有 dict 值。
在熊貓中,我會在 DataFrame 中使用apply()with ,如下所示:lambda
new_matrices = matrices['matrix'].apply(lambda x: function(x))
哪個是字典的最佳方法?我必須保持字典的結構相同。
uj5u.com熱心網友回復:
您可以遍歷字典matrices并應用于function每個字典中的每個 DataFrame:
for d in matrices:
d['matrix'] = d['matrix'].apply(lambda x: function(x))
我想你也可以把它寫成串列理解:
matrices = [{'name': 'dark_matter_and_gas', 'matrix': d['matrix'].apply(lambda x: function(x))} for d in matrices]
但在這種情況下效率要低得多,因為您可以在回圈中修改每個字典而無需創建新串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/434713.html
