从数据集中选择某些数据

时间:2018-05-04 11:05:02

标签: python

我有一个数据集,其中包含2014年至2016年的数据。我如何提取数据,以便我只拥有2016年的数据。数据集的行数很大。

这是列的外观示例:2014-01-01 00:00:00-06:00

提前致谢

3 个答案:

答案 0 :(得分:1)

这是基本的解析。我假设您知道如何创建字符串数组并将其用作示例。一个简单的方法是对前四个字符进行切片,并检查它们是否等于字符串"2016"

columns = ["2014-01-01 00:00:00-06:00",
           "2016-02-12 00:00:00-06:00",
           "2015-05-22 00:00:00-06:00",
           "2016-11-25 00:00:00-06:00",
           "2015-10-21 00:00:00-06:00"]
desired_columns = []
for column in columns:
    if column[0:4] == "2016":
        desired_columns.append(column)
print(desired_columns)

答案 1 :(得分:0)

您可以逐行解析数据,并使用String.startswith(“2016”)或正则表达式获取必要的数据(如果您愿意)。

答案 2 :(得分:0)

columns = ["2014-01-01 00:00:00-06:00",
          "2016-02-12 00:00:00-06:00",
          "2015-05-22 00:00:00-06:00",
          "2016-11-25 00:00:00-06:00",
          "2015-10-21 00:00:00-06:00"]

desired_columns = [column for column in columns if '2016' in column]


print(desired_columns)

您可以使用条件测试,例如'如果2016年在列'在运行for循环时。然后,您可以将此条件测试放在列表推导中,以便将代码减少到1行,就像我在这里做的那样。这是你的输出:

['2016-02-12 00:00:00-06:00', '2016-11-25 00:00:00-06:00']