Python 使用dataframe计算行数
我有一个带有时间戳数据的数据帧。 我想计算每分钟有多少行,例如,给定以下表格: 00:00:01数据1 00:00:21数据2 00:02:02数据3 00:02:10数据4 00:02:31数据5 结果应该是[2,0,3]。Python 使用dataframe计算行数,python,pandas,dataframe,timestamp,Python,Pandas,Dataframe,Timestamp,我有一个带有时间戳数据的数据帧。 我想计算每分钟有多少行,例如,给定以下表格: 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数据类型,然后将其设置到索引中,并使用计数重采样: from io import StringIO txt = StringIO("""00:00:01 data1 00:00:21 data2 00:02:02
如何操作?您可以先将第一列转换为pd.Timedelta数据类型,然后将其设置到索引中,并使用计数重采样:
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
[2, 0, 3]
列出:
df_out['Value'].tolist()
输出:
Value
Time
00:00:01 2
00:01:01 0
00:02:01 3
[2, 0, 3]
我认为pandas.resampler.count是正确的方法