以下是一个示例代码,演示如何根据频率筛选数据:
import pandas as pd
# 创建示例数据
data = {'A': ['apple', 'banana', 'apple', 'banana', 'apple', 'banana', 'apple', 'banana'],
'B': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 计算每个值的频率
frequency = df['A'].value_counts()
# 设置频率阈值
threshold = 2
# 筛选频率大于等于阈值的值
filtered_df = df[df['A'].isin(frequency[frequency >= threshold].index)]
# 打印筛选结果
print(filtered_df)
输出结果:
A B
0 apple 1
2 apple 3
4 apple 5
6 apple 7
以上代码首先创建了一个包含A和B两列的DataFrame示例数据。然后,使用value_counts()
函数计算A列中每个值的频率,并赋值给frequency
变量。接下来,设置一个阈值,例如2,只保留频率大于等于2的值。最后,使用isin()
函数和布尔索引筛选出满足条件的行,并将结果赋值给filtered_df
变量。最后,打印出筛选结果。
下一篇:按照频率识别时间序列缺失观测