如何保存由pandas.DataFrame.at函数创建的数据框?

时间:2019-10-24 15:57:57

标签: python pandas dataframe

通过pandas.pydata.org:

>>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
...                   index=[4, 5, 6], columns=['A', 'B', 'C'])
>>> df
    A   B   C
4   0   2   3
5   0   4   1
6  10  20  30

在指定的行/列对中获取值

>>> df.at[4, 'B']
2

在指定的行/列对上设置值

>>> df.at[4, 'B'] = 10

>>> df.at[4, 'B']
10

但是当我尝试以我的代码运行此代码时:(下一个脚本的下一行)

P = []
df = pd.DataFrame(index=range(int(frames_count))) 
    if len(outputs) > 0:
        for i in range(len(outputs)):
            bbox_xyxy = outputs[:,:4]
            identities = outputs[:,-1]
            sx = outputs[:,0]
            sy = outputs[:,1]
            ex = outputs[:,2]
            ey = outputs[:,3]
            cx = ((sx + ex) /2)
            cy = ((sy + ey) /2)
            cx2 = (cx.tolist())
            cy2 = (cy.tolist())   
            P = identities[i]
            df[str(P.astype(int))] = ""  #creates new column with an id number obtained through deepsort

            df.at[int(framenumber), str(P.astype(int))] = [cx2[i], cy2[i]]   #inputs my current coordinates into the dataframe

和我

print(df)

                     1
Frames                
3       [614.5, 632.0]

                     1
Frames                
3                     
4       [610.5, 624.0]

                     1
Frames                
3                     
4                     
5       [603.0, 618.0]

                     1
Frames                
3                     
4                     
5                     
6       [574.0, 615.5]

                     1
Frames                
3                     
4                     
5                     
6                     
7       [564.0, 610.0]

                     1
Frames                
3                     
4                     
5                     
6                     
7                     
8       [559.0, 597.0]

创建一个数据框,其中我的行指示视频中的每个单独的帧,而列由我的身份np.array创建。

输入坐标与当前行和列对应

循环打印当前帧的下一个数据帧,而我前一帧的数据消失了。

iso这样的输出:

                     1
Frames                
3       [614.5, 632.0]
4       [610.5, 624.0]
5       [603.0, 618.0]
6       [574.0, 615.5]
7       [564.0, 610.0]
8       [559.0, 597.0]

0 个答案:

没有答案