目标
集团a熊猫的数据间隔30分钟,并提取数据来绘制它。
示例
import pandas as pd
log = [
['2022/10/10_6:13:39', '6328f0c6ad70889fd28dcd07'],
['2022/10/10_6:13:49', '6328f0c6ad70889fd28dcd07'],
['2022/10/10_6:14:23', '6328f0c6ad70889fd28dcd07'],
['2022/10/10_6:14:25', '6328b959a5745f6fa5206fa6'],
['2022/10/10_6:15:4', '6328b959a5745f6fa5206fa6'],
['2022/10/10_6:15:52', '628fa4ac88be7ffeb9b7e7e3']]
df = pd.DataFrame(log,
columns=['timestamp', 'data'])
# convert to timestamp format
df['timestamp'] = pd.to_datetime(df['timestamp'],format='%Y/%m/%d_%H:%M:%S')数据文件:
timestamp data
0 2022-10-10 06:13:39 6328f0c6ad70889fd28dcd07
1 2022-10-10 06:13:49 6328f0c6ad70889fd28dcd07
2 2022-10-10 06:14:23 6328f0c6ad70889fd28dcd07
3 2022-10-10 06:14:25 6328b959a5745f6fa5206fa6
4 2022-10-10 06:15:04 6328b959a5745f6fa5206fa6
5 2022-10-10 06:15:52 628fa4ac88be7ffeb9b7e7e3我的方法
# Group in intervals
g = df.groupby(pd.Grouper(key='timestamp',freq='30s'))问题
发布于 2022-10-16 08:41:35
当您使用group by时,在您的情况下需要一个聚合函数,如果您想要使用count()的值的数量。若要检查分组的数据,可以使用列表。然后,您可以使用条形图来绘制数据。
grouped_data = df.groupby(pd.Grouper(key='timestamp',freq='30s')).agg(list)
grouped_counts = df.groupby(pd.Grouper(key='timestamp',freq='30s')).count()
grouped_counts.plot(kind='bar')

编辑以获得唯一值
如果您想要唯一的值,您可以按集合进行聚合并计算值。
grouped_data = df.groupby(pd.Grouper(key='timestamp',freq='30s')).agg(set)
grouped_data['counts'] = grouped_data['data'].apply(lambda x: len(x))
grouped_data.plot(y='counts', kind='bar')https://stackoverflow.com/questions/74085617
复制相似问题