通过过滤年份创建一个子集
Create a subset by filtering on Year
我有一个示例数据集,如下所示:
| Id | Year | Price |
|----|------|-------|
| 1 | 2000 | 10 |
| 1 | 2001 | 12 |
| 1 | 2002 | 15 |
| 2 | 2000 | 16 |
| 2 | 2001 | 20 |
| 2 | 2002 | 22 |
| 3 | 2000 | 15 |
| 3 | 2001 | 19 |
| 3 | 2002 | 26 |
我想对数据集进行子集化,这样我就可以只考虑过去两年的值。我想创建一个变量 'end_year' 并将年份值传递给它,然后使用它来对原始数据框进行子集化以仅考虑最近两年。由于我有新数据,所以我想创建变量。我尝试了以下代码,但出现错误。
end_year="2002"
df1=df[(df['Year'] >= end_year-1)]
根据评论,Year
在原始数据中是类型 object
。我们应该首先将它转换为 int
然后与数字 end_year
:
进行比较
df.Year=df.Year.astype(int) # cast `Year` to `int`
end_year=2002 # now we can use `int` here too
df1=df[(df['Year'] >= end_year-1)]
Id
Year
Price
1
1
2001
12
2
1
2002
15
4
2
2001
20
5
2
2002
22
7
3
2001
19
8
3
2002
26
我有一个示例数据集,如下所示:
| Id | Year | Price |
|----|------|-------|
| 1 | 2000 | 10 |
| 1 | 2001 | 12 |
| 1 | 2002 | 15 |
| 2 | 2000 | 16 |
| 2 | 2001 | 20 |
| 2 | 2002 | 22 |
| 3 | 2000 | 15 |
| 3 | 2001 | 19 |
| 3 | 2002 | 26 |
我想对数据集进行子集化,这样我就可以只考虑过去两年的值。我想创建一个变量 'end_year' 并将年份值传递给它,然后使用它来对原始数据框进行子集化以仅考虑最近两年。由于我有新数据,所以我想创建变量。我尝试了以下代码,但出现错误。
end_year="2002"
df1=df[(df['Year'] >= end_year-1)]
根据评论,Year
在原始数据中是类型 object
。我们应该首先将它转换为 int
然后与数字 end_year
:
df.Year=df.Year.astype(int) # cast `Year` to `int`
end_year=2002 # now we can use `int` here too
df1=df[(df['Year'] >= end_year-1)]
Id | Year | Price | |
---|---|---|---|
1 | 1 | 2001 | 12 |
2 | 1 | 2002 | 15 |
4 | 2 | 2001 | 20 |
5 | 2 | 2002 | 22 |
7 | 3 | 2001 | 19 |
8 | 3 | 2002 | 26 |