计算不隐藏线的出现频率



我需要一些关于在DataFrame中计算频率的指导。

基本上,我需要计算一列的出现频率,根据另一列的一个简单条件:,用找到的百分比创建一个新列

例如:

索引 Col1 tbody>
0 一个 49
1 a 51
2 b 49
3 b 49
4 c 51
5 c 49
6 c 49
7 c 51

assign会为您完成这项工作。重要的是设置";枢轴;列作为索引优先:

import pandas as pd
df = pd.DataFrame({"col1":["a", "a", "b", "b", "c", "c", "c", "c"], "col9":[49, 51, 49, 49, 51, 49, 49, 49]})
grouping_index = ["col1"]
df = df.set_index(grouping_index)
df = df.assign(percentage=df.groupby(grouping_index)[["col9"]].agg(lambda x: sum(x>50)/len(x))).reset_index()

最新更新