首页 > 解决方案 > 如何在没有熊猫的情况下过滤列表 Python 中的列?

问题描述

我有一个 Python 列表。我需要在不使用 Pandas 的情况下过滤列。我尝试如下。但是,它不起作用。

例如,我将对 Country='Canada' 进行一些计算。

filtered = [x for x in data if data[0] == "Canada"]

标签: pythonfunction

解决方案


好的,看来您的数据只是一个完整的列表。如果您从 1960 年到 2017 年每年都是正确的,加上标签列,那么每行应该有 59 个条目。

我真的建议您首先尝试将数据重新格式化为列表或类似的列表,但同时尝试以下操作:

# Reformat the data a little
data = [i for s in data for i in s.split('\n')]

# Filter the data
row_len = 59
filtered = list([zip(data[1:row_len], data[i+1:i+row_len]) for i in range(len(data)) if data[i] == 'Sweden'][0])

编辑:这应该将年份与国家/地区的数据捆绑在一起(在这种情况下是瑞典)。


推荐阅读