[英]Filter a row based on a certain condition from a grouped data - python
您可以按列b_name
进行分组,然后使用filter
仅保留那些同时在p_f
列中具有F
和P
值的组(对于每个组)。 接下来,使用drop_duplicates("b_name")
删除重复的行并将p_f
设置为所需的 output。
import pandas as pd
df = pd.read_csv("sample.csv", sep=";")
print(df)
df_group = df.groupby("b_name")
df_filter = df_group.filter(lambda x:
("F" in x.p_f.values) and ("P" in x.p_f.values)
)
df_filter = df_filter.drop_duplicates("b_name")
df_filter["p_f"] = "FP"
print(df_filter[["b_id", "b_name", "p_f"]])
Output 来自df_filter
b_id b_name p_f
0 29743 XXXX FP
3 29751 ZZZZ FP
6 30832 BBBB FP
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.