我有一个从1到13的数字数据框(每个数字是一个位置)。作为索引,我设置了一个时间轴,以表示24小时(720行)中2分钟的时间步长。每列代表一个人。因此,我有2分钟的时间沿24小时提供位置列。
由于2分钟的时间步长很小,因此我只希望获得14分钟的行数倍,因此,较大的时间步长('0:14:00', '0:28:00', '0:32:00', ...)
。我正在尝试使用方法pandas.DataFrame.append
通过索引将这些行添加到另一个数据帧中,但是由于某种原因,没有添加任何内容。这是代码:
import pandas as pd
from datetime import timedelta
df = pd.read_csv("dataset_belgium/all_patterns_2MINS.csv", encoding="utf-8")
df = df.transpose()
df.reset_index(drop=True, inplace=True)
timeline = []
for timestep in range(0,len(df.index)):
time = timedelta(seconds=timestep*2*60)
time = str(time)
timeline.append(time)
tl = pd.DataFrame(timeline)
tl.columns = ['timeline']
df=df.join(tl, how='left')
df.dropna()
df = df.set_index('timeline')
df.replace([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
inplace=True)
df = df[1:]
直到此处创建数据框。现在,我试图只获取14分钟的时间步长:
timeline_14 = []
for timestep in range(0,103):
time = timedelta(seconds=timestep*14*60)
time = str(time)
timeline_14.append(time)
df_14 = pd.DataFrame()
for timestep in timeline_14:
df_14 = df_14.append(df.loc[timestep])
谢谢!