【发布时间】:2020-03-07 16:03:09
【问题描述】:
我想从 df 的多个列中返回唯一行。问题是如果它们没有出现在上一行中,我想包含相同的值集。这有点难以解释,所以我会展示它;
df = pd.DataFrame({
'Time' : ['2019-08-02 09:50:10.1','2019-08-02 09:50:10.2','2019-08-02 09:50:10.3','2019-08-02 09:50:10.4','2019-08-02 09:50:10.5','2019-08-02 09:50:10.6','2019-08-02 09:50:10.7','2019-08-02 09:50:10.8','2019-08-02 09:50:10.9','2019-08-02 09:50:11.0'],
'Code1' : ['A','A','B','B','C','C','A','A','B','B'],
'Code2' : ['B','B','A','A','B','B','B','B','A','A'],
'Code3' : [np.nan,np.nan,'C','C','A','A','C','C','C','C'],
})
df = df[df.iloc[:, 1:].shift().ne(df.iloc[:, 1:]).any(axis=1)].reset_index(drop = True)
预期输出:
Time Code1 Code2 Code3
0 2019-08-02 09:50:10.1 A B NaN
1 2019-08-02 09:50:10.3 B A C
2 2019-08-02 09:50:10.5 C B A
3 2019-08-02 09:50:10.7 A B C
4 2019-08-02 09:50:10.9 B A C
【问题讨论】:
标签: python pandas pandas-groupby