我有一个包含不同 ID 月度记录的数据框,我只需要对具有多个月记录的 ID 进行一些分析。
ID Month Metric1 Metric2
1 2018-01-01 4 3
1 2018-02-01 3 2
2 2018-02-01 1 5
3 2018-01-01 4 2
3 2018-02-01 6 3
4 2018-01-01 3 1
Run Code Online (Sandbox Code Playgroud)
我将如何过滤出只出现一次的 ID 行并保留那些具有多行的行并得到类似的结果
ID Month Metric1 Metric2
1 2018-01-01 4 3
1 2018-02-01 3 2
3 2018-01-01 4 2
3 2018-02-01 6 3
Run Code Online (Sandbox Code Playgroud)
我看过其他一些提到使用类似内容的页面:
df = df[df.groupby('ID').ID.transform(len) > 1]
Run Code Online (Sandbox Code Playgroud)
但我不想通过分组丢失每个月的指标。
更改len为count
df[df.groupby('ID').ID.transform('count') > 1]
Out[589]:
ID Month Metric1 Metric2
0 1 2018-01-01 4 3
1 1 2018-02-01 3 2
3 3 2018-01-01 4 2
4 3 2018-02-01 6 3
Run Code Online (Sandbox Code Playgroud)
df1=df[df.ID.duplicated(keep=False)]
print(df1)
Run Code Online (Sandbox Code Playgroud)
ID Month Metric1 Metric2
0 1 2018-01-01 4 3
1 1 2018-02-01 3 2
3 3 2018-01-01 4 2
4 3 2018-02-01 6 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1237 次 |
| 最近记录: |