按索引在熊猫数据框中添加行

时间:2020-05-13 09:38:13

标签: python pandas add rows

我有一个从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])

谢谢!

0 个答案:

没有答案