Pandas数据框架中一列的非唯一值基于另一列的唯一值。

问题描述 投票:0回答:1

我有一个 Pandas 数据框架,我想得到所有独特事件的独特年份的列表。我不关心 DIRECTION 列,我只想要一个 DATE's. 我不一定要 DATE的是唯一的,因为有时会有多个。ID'的同一日期,但我不需要所有的。DIRECTION的同一日期。

Pandas df

ID DIRECTION DATE
ABA Z 2019
ABA N 2019
ABA E 2019
ABB Z 2019
ABB N 2019
ABB E 2019
ABC Z 2020
ABC N 2020
ABC E 2020

预期产出

[2019, 2019, 2020]

实际产出

[2019, 2020]

现行代码

ids=df['ID'].unique().tolist()
dates=df['DATE'].unique().tolist()
labels, counts = np.unique(dates, return_counts=True)

**

len(counts) == 2
#I want len(counts) == 3
python-3.x pandas numpy pandas-groupby
1个回答
0
投票

IIUC,你想要的是每个id的唯一日期,然后把它们连成一个数组。

np.concatenate(df.groupby('ID')['DATE'].unique().values)

输出:

array([2019, 2019, 2020])
© www.soinside.com 2019 - 2024. All rights reserved.