Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将行追加到数据帧_Python_Python 3.x_Pandas - Fatal编程技术网

Python 将行追加到数据帧

Python 将行追加到数据帧,python,python-3.x,pandas,Python,Python 3.x,Pandas,pandas是个新手,我创建了一个名为rollParametersDf的数据框: rollParametersDf = pd.DataFrame(columns=['insampleStart','insampleEnd','outsampleStart','outsampleEnd'], index=[]) 给出了4列标题。我想保留我正在进行的研究的参考日期。我想添加索引名为roll1、roll2..rolln的数据行(一次一行),该行是使用以下代码创建的: out

pandas是个新手,我创建了一个名为rollParametersDf的数据框:

 rollParametersDf = pd.DataFrame(columns=['insampleStart','insampleEnd','outsampleStart','outsampleEnd'], index=[])
给出了4列标题。我想保留我正在进行的研究的参考日期。我想添加索引名为roll1、roll2..rolln的数据行(一次一行),该行是使用以下代码创建的:

            outsampleEnd = customCalender.iloc[[totalDaysAvailable]]
            outsampleStart = customCalender.iloc[[totalDaysAvailable-outsampleLength+1]]
            insampleEnd = customCalender.iloc[[totalDaysAvailable-outsampleLength]]
            insampleStart = customCalender.iloc[[totalDaysAvailable-outsampleLength-insampleLength+1]]

            print('roll',rollCount,'\t',outsampleEnd,'\t',outsampleStart,'\t',insampleEnd,'\t',insampleStart,'\t')

            rollParametersDf.append({insampleStart,insampleEnd,outsampleStart,outsampleEnd})
我已尝试使用append,但无法获取要追加的单个行

我希望最终的数据帧看起来像:

     insampleStart insampleEnd outsampleStart outsampleEnd
roll1       1             5           6              8      
roll2       2             6           7              9
:
rolln

您可以指定要追加的键值对

df = pd.DataFrame({'insampleStart':[], 'insampleEnd':[], 'outsampleStart':[], 'outsampleEnd':[]})
df = df.append({'insampleStart':[1,2], 'insampleEnd':[5,6], 'outsampleStart':[6,7], 'outsampleEnd':[8,9]}, ignore_index=True)
熊猫有一个将行附加到数据帧的示例。此追加操作不同于列表的追加操作,因为此追加操作生成新的数据帧。这意味着对于每个附加操作,您都在重建和重新索引数据帧,这是非常低效的。以下是一个示例解决方案:

# create empty dataframe
columns=['insampleStart','insampleEnd','outsampleStart','outsampleEnd']
rollParametersDf = pd.DataFrame(columns=columns)

# loop through 5 rows and append them to the dataframe
for i in range(5):
    # create some artificial data
    data = np.random.normal(size=(1, len(columns)))
    # append creates a new dataframe which makes this operation inefficient
    # ignore_index causes reindexing on each call.
    rollParametersDf = rollParametersDf.append(pd.DataFrame(data, columns=columns),
                                               ignore_index=True)

print rollParametersDf

   insampleStart  insampleEnd  outsampleStart  outsampleEnd
0       2.297031     1.792745        0.436704      0.706682
1       0.984812    -0.417183       -1.828572     -0.034844
2       0.239083    -1.305873        0.092712      0.695459
3      -0.511505    -0.835284       -0.823365     -0.182080
4       0.609052    -1.916952       -0.907588      0.898772

非常感谢,但是当我添加代码时,我得到了一个异常:raise TypeError('如果ignore\u index=True,只能追加一个序列'TypeError:如果ignore\u index=True,或者如果序列有名称,只能追加一个序列。知道怎么了吗?谢谢