【问题标题】:How to know all the values from a column in a pivot table in pandas?如何知道熊猫数据透视表中列的所有值?
【发布时间】:2017-04-27 20:54:44
【问题描述】:

我像这样创建了一个数据透视表:

                                                     Mark
 Province        Student      Year       Subject       
'Barcelona'      'Martin'     2013      'Algebra'       8
                                        'Chemistry'     7
                                           ...         ...

                              2014     'Programming'    6
                              ...          ...         ...

                 'Sarah'      2013     'Programming'    5
                                        'Chemistry'    10
                                           ...         ...

                              2014     'Programming'    6
                              ...          ...         ...

                 'Luis'       ...          ...         ...
                  ....        ...          ...         ...
'Tarragona'       ....        ...          ...         ...

   ...            ....        ...          ...         ...

如何获取巴塞罗那所有学生的姓名?换句话说,我想得到:
['马丁','莎拉','路易斯',...]

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: python pandas dataframe pivot-table


    【解决方案1】:

    试试这个:

    df.query("Province == 'Barcelona'")['Student']
    

    df.query("Province == 'Barcelona'")['Student'].tolist()
    

    如果Student 是MultiIndex 的一部分(不是常规列),您可能还想先reset_index()

    df.reset_index().query("Province == 'Barcelona'")['Student'].tolist()
    

    【讨论】:

    • 它不起作用,它返回一个 KeyError。返回某些东西的唯一键是'mark'。你知道为什么吗?感谢您尝试帮助我!
    • @trecnano,请提供以下命令的输出:print(df.columns); print(df.index.names)
    • print(df.columns) 返回:Index(['mark'],dtype='object') ;并且 print(df.index.names) 返回:['Province', 'Student', 'Year', 'Subject']
    • 好吧,如果我重置索引它就可以了;谢谢你!但如果有人知道这是最简单的方法,请告诉我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 2021-02-28
    • 2023-01-11
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多