簡體   English   中英

將不規則長度元組列表轉換為 dataframe

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM