在我的 csv 数据中,我有一列包含以下数据:
110.00
111.00
111.00 *
112.00
113.00
114.00
114.00 *
115.00
115.00 *
116.00
110.00
111.00
111.00 *
112.00
113.00
114.00
114.00 *
115.00
115.00 *
116.00
我在数据框中阅读它,我想删除具有重复数字的行,但前提是它们是一个接一个地立即出现。我用 * 标记了我想删除的行。感谢您的任何建议
在我的 csv 数据中,我有一列包含以下数据:
110.00
111.00
111.00 *
112.00
113.00
114.00
114.00 *
115.00
115.00 *
116.00
110.00
111.00
111.00 *
112.00
113.00
114.00
114.00 *
115.00
115.00 *
116.00
我在数据框中阅读它,我想删除具有重复数字的行,但前提是它们是一个接一个地立即出现。我用 * 标记了我想删除的行。感谢您的任何建议
我认为您可以使用 来执行此操作.shift()
,它可以向前或向后移动一个系列(默认为向前一个。)如果它们与下一个不同,您希望保留行,例如:
df[df["A"] != df["A"].shift()]
例如:
>>> df = pd.DataFrame({"A": [1,2,1,2,2,3,3,3,1,2]})
>>> df["A"]
0 1
1 2
2 1
3 2
4 2
5 3
6 3
7 3
8 1
9 2
Name: A, dtype: int64
>>> df["A"].shift()
0 NaN
1 1
2 2
3 1
4 2
5 2
6 3
7 3
8 3
9 1
Name: A, dtype: float64
>>> df["A"] != df["A"].shift()
0 True
1 True
2 True
3 True
4 False
5 True
6 False
7 False
8 True
9 True
Name: A, dtype: bool
导致:
>>> df[df["A"] != df["A"].shift()]
A
0 1
1 2
2 1
3 2
5 3
8 1
9 2