【发布时间】:2021-02-15 21:06:01
【问题描述】:
经理电话号码列表的列:
日期时间 |客户 |经理
xx |xx |+44....
任务是计算每个号码拨打了多少电话...
df['mmanager'].value_counts()
及之后 - 过滤列表中的电话号码:删除号码少于 5 个电话的行。
示例
import pandas as pd
import numpy as np
from itertools import product, chain
managers = [f"{manager}_{i}" for i, manager in product(range(3),("Bob", "Silvie", "Steve"))]
clients = [f"{client}_{i}" for i, client in product(range(20),("Lukas", "Max", "Julia"))]
weights = np.array([100.0]*len(managers))
weights[:5] = 1
weights *= 1/sum(weights)
np.random.seed(0)
size = 10**3
df = pd.DataFrame({"manager": np.random.choice(managers,size=size, p=weights),"clients": np.random.choice(clients,size=size)})
df.value_counts("manager").sort_values().head(10)
给予
manager
Steve_0 1
Bob_1 1
Bob_0 2
Silvie_0 3
Silvie_1 4
Steve_2 238
Silvie_2 240
Steve_1 252
Bob_2 259
dtype: int64
所以我想从列表中删除Steve_0, Bob_1, Bob_0, Silvie_0 and Silvie_1。
【问题讨论】:
-
显示数据样本
标签: python pandas data-science data-analysis