我有下一个csv,我需要从DialedNumer列中获取重复的值,然后再获取这些重复项的平均持续时间。
我已经得到了带有下一个代码的重复项:
df = pd.read_csv('cdrs.csv')
dnidump = pd.DataFrame(df, columns=['DialedNumber'])
pd.options.display.float_format = '{:.0f}'.format
dupl_dni = dnidump.pivot_table(index=['DialedNumber'], aggfunc='size')
a1 = dupl_dni.to_frame().rename(columns={0:'TimesRepeated'}).sort_values(by=['TimesRepeated'], ascending=False)
b = a1.head(10)
print(b)
输出:
DialedNumber TimesRepeated
50947740194 4
50936564292 2
50931473242 3
我不知道如何获得这些重复项的持续时间,有什么主意吗?
thx
答案 0 :(得分:1)
尝试:
df_mean = df.groupby('DialedNumber').mean()
答案 1 :(得分:0)
使用df.groupby('column')。mean() 这是示例代码。
输入
df = pd.DataFrame({'A': [1, 1, 1, 2, 2],
'B': [2461, 1023, 9, 5614, 212],
'C': [2, 4, 8, 16, 32]}, columns=['A', 'B', 'C'])
df.groupby('A').mean()
输出
B C
A
1 1164.333333 4.666667
2 2913.000000 24.000000
pandas.core.groupby.GroupBy.mean的API参考
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.GroupBy.mean.html