首页 > 解决方案 > 如何在 pandas 中读取数据框中的 2 列并返回数据列表列表?

问题描述

我刚开始学习熊猫,我有一个看起来像的数据框

Date        Average    Volume    
2013-02-07    400        4100
2013-02-08    389        3400
2013-02-23    380        3100

如果用户说他们想要来自第一列的信息(我在这里指的是平均值,我不包括日期作为它的常数),我希望它返回

 ['2013-02-07', 400]
 ['2013-02-08', 389]
 ['2013-02-23', 380]

如果他们从第二列询问信息,它将以相同的格式返回日期和数量信息。

data_list(file_object,column_number)
    inp = int(input('Which column?' ))
    if inp = 1:
        df['Average'].iloc[0:]
    if inp = 2:
        df['Volume'].iloc[0:]

这将返回用户想要的列,但我怎样才能以上面请求的格式返回它?

标签: pythonpython-3.xpandas

解决方案


您可以使用values.tolist

>>> df[['Date','Average']].values.tolist()
[['2013-02-07', 400], ['2013-02-08', 389], ['2013-02-23', 380]]

如果你想要一个生成器,你可以使用 map

>>> map(list, df[['Date','Average']].values)
<map object at 0x7f3fd47023c8>
>>> 
>>> [*map(list, df[['Date','Average']].values)]
[['2013-02-07', 400], ['2013-02-08', 389], ['2013-02-23', 380]]

推荐阅读