我需要一個鍵,我的 Pandas DataFrame 的行索引,其中key是 Pandas DataFrame 的 id 列,data是行資料。
資料稀疏 - 我只需要訪問幾個鍵的資料,但我不知道我需要提前訪問哪些鍵。
我目前正在使用以下方式執行此操作iterrows:
pair_map = {}
for pair_id, data in df.iterrows():
pair_map[pair_id] = data
但是,對于非常多的行(~100k-1M),這會變得很慢。是否有更快的方法為 Pandas 創建稀疏鍵行索引,以便任意訪問任何行都很快?如果索引稀疏并且按需從 Pandas 中提取資料(盡管我認為這是不可能的),那就更好了。
uj5u.com熱心網友回復:
嘗試這個:
df.T.to_dict()
我不知道您是否可以transpose使用 1M 列的 df 并且如果您正在尋找dict帶有型別的值,pd.Series這不是解決方案
uj5u.com熱心網友回復:
我相信你想要一個以“ID”作為鍵和行值作為串列值的字典:
pair_map = df.set_index("ID").transpose().to_dict("list")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505747.html
上一篇:如何將串列項附加到回傳函式
