sam*_*son 2 python dataframe pandas
我有一个 pandas df ,如下所示:
import pandas as pd
d = {'value1': [1, 1, 1, 2, 3, 3, 4, 4, 4, 4], 'value2': ['A', 'B', 'C', 'C', 'A', 'B', 'B', 'A', 'A', 'B']}
df = pd.DataFrame(data=d)
df
Run Code Online (Sandbox Code Playgroud)
value1我想检查列中的每个组是否在列中至少包含一个值“C” value2。如果某个组没有“C”值,我想排除该组
value1 value2
1 A
1 B
1 C
2 C
3 A
3 B
4 B
4 A
4 A
4 B
Run Code Online (Sandbox Code Playgroud)
结果 df 应如下所示:
value1 value2
1 A
1 B
1 C
2 C
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
使用groupby filter
df.groupby('value1').filter(lambda x: x['value2'].eq('C').sum() > 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |