我正在使用構建資料框串列
_dataframe_collection_ = {}
我想連接這些資料框中的資料以構建一個大資料框。如果我做
for i in range(_num_roles_):
_dataframe_collection_[i] = pd.DataFrame(_roledata_json_[i])
_concatenated_dataframe_ = pd.concat(_dataframe_collection_[i])
print(_concatenated_dataframe_)
它在 pd.concat 行上失敗,并出現以下錯誤
創建資料框時出錯:第一個引數必須是熊貓物件的可迭代物件,您傳遞了一個“DataFrame”型別的物件。
如何將所有資料幀中的資料連接到一個資料幀中。
uj5u.com熱心網友回復:
您可以使用串列推導來創建pd.concat預期的資料框集合:
_concatenated_dataframe = pd.concat([pd.DataFrame(_roledata_json_[i]) for i in range(_num_roles_)])
uj5u.com熱心網友回復:
您需要在方法中傳遞要連接的 DataFrame 串列pd.concat()。它應該看起來像這樣pd.concat([df1, df2])。除非您需要映射鍵,否則我更喜歡串列而不是字典。
uj5u.com熱心網友回復:
dataframe_collection = {} 不是一個空串列,它是一個空字典。使用方括號代替大括號。
如果 roledata_json 是 json 字串串列,則需要使用 pandas.read_json()。如果不知道那個物件是什么,很難給出更好的建議。
出于性能原因,您不應執行多個 concat。concat 創建一個新物件。concat 將資料幀串列作為其輸入,如其他答案中所述。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/426299.html
上一篇:在最后一個空格之后提取文本
