python - 使用 pandas 数据框计算行数
问题描述
我有一个带有时间戳数据的熊猫数据框。我想计算每分钟有多少行,例如,给定这张表:
00:00:01 数据1
00:00:21 数据2
00:02:02 数据3
00:02:10 数据4
00:02:31 数据5
结果应该是 [2,0, 3]。我该怎么做?
解决方案
您可以先将第一列转换为 pd.Timedelta dtype,然后将其设置为索引并使用带计数的重新采样:
from io import StringIO
txt = StringIO("""00:00:01 data1
00:00:21 data2
00:02:02 data3
00:02:10 data4
00:02:31 data5""")
df = pd.read_csv(txt, names=['Time','Value'], sep='\s+')
df['Time'] = pd.to_timedelta(df['Time'])
df = df.set_index('Time')
df_out = df.resample('T').count()
df_out
输出:
Value
Time
00:00:01 2
00:01:01 0
00:02:01 3
列出:
df_out['Value'].tolist()
输出:
[2, 0, 3]
推荐阅读
- terminal - 启动 Jupyter 时如何防止终端窗口的数量增加
- python - Tkinter - 代码结构、构造和组织 - 应用程序附加子帧
- java - 如何按值对字符串和整数的 HashMap 进行排序,如果重复,然后按键对它们进行排序,包括俄语单词
- django - 仅限成员的 Django 权限
- javascript - 让粘性元素与溢出-y 滚动元素一起使用:在桌面上工作而不是在移动设备上工作?
- c - 已声明但未初始化的变量会回忆起尴尬的值
- spring - 如何限制每个请求最多 3 个异步线程 - Spring @Async
- pytorch - 如何将 numpy 数组(浮点数据)转换为火炬张量?
- sql - Postgresql 在使用大 OFFSET 时返回随机行
- java - js对象到mvc中的java对象