我有一个看起来像这样的数据框 -
import pandas as pd
sample_df = pd.DataFrame(columns=["A", "B"], data=[[1, "Red"], [2, "Blue"], [3, "Green"],
[4, "Red"], [5, "Blue"], [6,"Yellow"]])
A B
0 1 Red
1 2 Blue
2 3 Green
3 4 Red
4 5 Blue
5 6 Yellow
我想根据“B”列中值的“计数”来过滤此数据框。我想获取“B”列中的值仅出现一次的那些行。
所以我想获取下面的数据框
A B
2 3 Green
5 6 Yellow
使用
.value_counts() == 1
:
import pandas as pd
df = pd.DataFrame(
columns=["A", "B"],
data=[
[1, "Red"],
[2, "Blue"],
[3, "Green"],
[4, "Red"],
[5, "Blue"],
[6, "Yellow"],
],
)
print(df[df["B"].map(df["B"].value_counts() == 1)])
输出:
A B
2 3 Green
5 6 Yellow