[英]Convert list of irregular length tuples to dataframe
我有一個包含約 500 萬個元素的列表,其中列表元素表示一個觀察值,它可以采用 10 個單獨的值。 這些存儲為如下所示的元組:
[(0, 0.23411436),
(1, 0.011154618),
(2, 0.32306415),
(3, 0.011153304),
(4, 0.011153304),
(5, 0.011153304),
(6, 0.011153304),
(7, 0.36474636),
(8, 0.011153304),
(9, 0.011154029)]
我想將此轉換為 pandas dataframe ,其中每個元組中的第一個值是一列,第二個值是該列的條目。 問題是生成這些值的 model 抑制值 < 0.01,因此一些元組條目看起來像這樣:
[(0, 0.23411436),
(1, 0.011154618),
(3, 0.011153304),
(4, 0.011153304),
(5, 0.011153304),
(7, 0.36474636),
(9, 0.011154029)]
如何將其轉換為 dataframe,用零替換省略的值?
您可以像這樣在一行中執行此操作:
df = pd.DataFrame([dict(lst), dict(short_lst)]).fillna(0)
這是完整的示例:
import pandas as pd
lst = [(0, 0.23411436),
(1, 0.011154618),
(2, 0.32306415),
(3, 0.011153304),
(4, 0.011153304),
(5, 0.011153304),
(6, 0.011153304),
(7, 0.36474636),
(8, 0.011153304),
(9, 0.011154029)]
short_lst = [(0, 0.23411436),
(1, 0.011154618),
(3, 0.011153304),
(4, 0.011153304),
(5, 0.011153304),
(7, 0.36474636),
(9, 0.011154029)]
df = pd.DataFrame([dict(lst), dict(short_lst)]).fillna(0)
print(df.to_string())
# 0 1 2 3 4 5 6 7 8 9
# 0 0.234114 0.011155 0.323064 0.011153 0.011153 0.011153 0.011153 0.364746 0.011153 0.011154
# 1 0.234114 0.011155 0.000000 0.011153 0.011153 0.011153 0.000000 0.364746 0.000000 0.011154
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.