我有以下串列:
l = [[(2, 0.23938751), (4, 0.56652236), (5, 0.1714941)],
[(1, 0.23335448), (4, 0.21251856), (5, 0.5361737)],
[(2, 0.27893192), (4, 0.219862), (5, 0.272998), (8, 0.1259419)],
[(4, 0.19061193), (5, 0.35411215), (7, 0.39690432)]]
我想獲得一個包含兩列的資料框,如下所示,其中“主題”是元組的第一個元素,對應于每個元組的第二個元素中的最大值。
Topic P
4 0.56652236
5 0.5361737
2 0.27893192
7 0.39690432
任何人都可以幫我做嗎?
謝謝!
uj5u.com熱心網友回復:
您可以max在將串列提供給DataFrame建構式之前使用它來過濾串列:
df = pd.DataFrame([max(e, key=lambda x: x[1]) for e in l], columns=['Topic', 'P'])
輸出:
Topic P
0 4 0.566522
1 5 0.536174
2 2 0.278932
3 7 0.396904
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425617.html
上一篇:將var轉換為串列
