首页 > 解决方案 > 切片熊猫数据框列表

问题描述

我有一个包含许多数据框的列表。每个数据框包含两列:时间戳和数据。我只想从列表中的每个数据框中提取第二列。理想情况下,我宁愿不使用列名,而是使用列索引。

示例数据框:

months = [            Timestamp   Data
0 2019-10-23 14:00:00  24249.79243
1 2019-10-24 14:00:00  22141.10212
2 2019-10-25 14:00:00  21043.27311
3 2019-10-26 14:00:00  21663.70388
4 2019-10-27 14:00:00  22980.65174
5 2019-10-28 14:00:00  21767.26619
6 2019-10-29 14:00:00  22464.75061
7 2019-10-30 14:00:00  22839.18973
8 2019-10-31 14:00:00  22472.66895, 
             Timestamp    Data
0  2019-11-01 14:00:00  23062.698230
1  2019-11-02 14:00:00  22493.173590
2  2019-11-03 14:00:00  22844.434790
3  2019-11-04 14:00:00  23510.446750
4  2019-11-05 14:00:00  23575.067920
5  2019-11-06 14:00:00  23587.874350
6  2019-11-07 14:00:00  23543.441200
7  2019-11-08 14:00:00  22037.511610
8  2019-11-09 14:00:00  19832.109730]

我只想获取数据列的列表。我尝试了类似 maonths[:][1] 但显然没有用。将这个列表减少到仅第二个数据框列的列表的方法是什么?

谢谢!

标签: pythonpandasdataframe

解决方案


如果想要Seriess 列表使用列表理解DataFrame.iloc

L = [x.iloc[:, 1] for x in months]

如果想要DataFrames 列表,一列,添加[]

L = [x.iloc[:, [1]] for x in months]

循环解决方案而不是列表理解是:

L = []
for x in months:
     L.append(x.iloc[:, 1])

推荐阅读