簡體   English   中英

如何使用 python 獲取列表值和列?

[英]How do I get a list values and columns using python?

為這個愚蠢的問題道歉,但是....

我有一個 dataframe(在 python 中使用 pandas,帶有標題),看起來像這樣:

   Pink     Blue    Yellow   Green  
 --------- ------- -------- ------- 
  Jackson   Bryan   Bruce    Benji  
  James     Jonah   Jenny    Kevin  
  Tyson     Jenna   Mike     none   
  Kendall   Amy     Alison   none   
  Ben       none    none     none   

如何獲得如下所示的團隊和名稱列表?

  Pink    Jackson  
  Pink    James    
  Blue    Bryan    
  ...              
  Green   Kevin    

如果我做對了,您希望擁有所有列名 + 值對。 pd.melt可以為您做到這一點:

 df = pd.DataFrame({"Pink": ["Jackson", "James"], "Blue": ["Bryan", None]})
 pd.melt(df)

結果:

  variable    value
0     Pink  Jackson
1     Pink    James
2     Blue    Bryan
3     Blue     None

如果你只想要一個二維 numpy 數組,你可以這樣做:

pd.melt(df).values

結果:

array([['Pink', 'Jackson'],
       ['Pink', 'James'],
       ['Blue', 'Bryan'],
       ['Blue', None]], dtype=object)

正如 matman9 指出的那樣,只需在 .values 之后添加一個.values .tolist()即可獲得 python 列表。

除了較早的答案,我建議過濾掉None

for t in filter(lambda x: x[1], pd.melt(df).values.tolist()):
    print('{:8} {}'.format(*t))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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