按切片编辑数据框

时间:2019-06-25 14:42:58

标签: python pandas

我想用“块”填充数据框的列,因为我要从所述块中的仪器获取数据。

我从示波器上获得了长度为250e3的波形数据。可能有24e6个数据点。我需要将其放入数据框,并在数据可用时更新数据框。

df4 = pd.DataFrame(data=np.zeros((10, 3)), columns=['a','b','c'])
for i in range(5):
    ser = pd.Series(data=[i+1,i+1])
    ser[0:2]
    df4['a'].iloc[i*2:(i+1)*2] = ser[0:2]
    df4

我希望系列中的值显示在dataframe列中。它适用于循环中的第一遍,但随后显示NaN。怎么来的? 另外,如果其他想法的执行速度更快,我也愿意接受。

1 个答案:

答案 0 :(得分:0)

我想这就是您想要实现的目标:

import pandas as pd
import numpy as np
df4 = pd.DataFrame(data=np.zeros((10, 3)), columns=['a','b','c'])
for i in range(5):
    ser = pd.Series(data=[i+1,i+1])
    print(ser[0:2])
    df4.loc[[i*2], 'a'] = ser[0]
    df4.loc[[(i+1)*2-1], 'a'] = ser[1]
    print(df4)

或者,还有一种更好的方法可以使用以下代码来实现:

df4.loc[i*2:(i+1)*2-1, 'a'] = ser[0],ser[1]