Python 使用dataframe计算行数

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

我有一个带有时间戳数据的数据帧。 我想计算每分钟有多少行,例如,给定以下表格:

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 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是正确的方法