【问题标题】:How do I get a list values and columns using python?如何使用 python 获取列表值和列?
【发布时间】:2020-08-31 04:10:24
【问题描述】:

为这个菜鸟问题道歉,但是....

我有一个数据框(在 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    

【问题讨论】:

标签: python arrays pandas list dataframe


【解决方案1】:

除了较早的答案,我建议过滤掉 None 的:

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

【讨论】:

    【解决方案2】:

    如果我猜对了,您希望拥有所有列名 + 值对。 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 之后添加一个 .tolist() 即可获得 python 列表。

    【讨论】:

    • 打败我:D
    • 获取可以在值后添加 .tolist() 的列表
    猜你喜欢
    • 2018-01-28
    • 2019-02-05
    • 2019-09-11
    • 1970-01-01
    • 2011-03-10
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多