Python 如何将行添加到数据帧的顶部?

Python 如何将行添加到数据帧的顶部?,python,pandas,dataframe,Python,Pandas,Dataframe,我通过以下方式读取数据: dataset = pd.read_csv(r' ...\x.csv') 然后指定并选择其中一些,如下所示: dataset = dataset.loc[len(dataset)-data_length: , :] 请执行以下操作: dataset_shifted = dataset.shift(1) dataset_shifted = dataset_shifted.dropna() 并且想在我的数据集的顶部添加一个等于1的新行。但是使用下面的命令不起作用,因

我通过以下方式读取数据:

dataset = pd.read_csv(r' ...\x.csv')
然后指定并选择其中一些,如下所示:

dataset = dataset.loc[len(dataset)-data_length:  , :]
请执行以下操作:

dataset_shifted = dataset.shift(1)
dataset_shifted = dataset_shifted.dropna()
并且想在我的
数据集的顶部添加一个等于1的新行。但是使用下面的命令不起作用,因为我的数据索引是从3714到3722的,它将索引0添加到数据帧的末尾,而不是它的顶部

dataset_shifted = dataset_shifted .loc[0 , :] = 1

如果
DataFrame
中没有缺失值,您可以通过删除
dropna
并使用以下方法简化解决方案:

如果可能缺少值,则仅通过以下方式按位置设置第一行:

应更改您的解决方案:

dataset_shifted = dataset.shift(1)
dataset_shifted = dataset_shifted.dropna()
dataset_shifted.loc[0 , :] = 1
dataset_shifted = dataset_shifted.sort_index()

print (dataset_shifted)
        B    C    D
0     1.0  1.0  1.0
3715  4.0  7.0  1.0
3716  5.0  8.0  3.0

这些不会添加新行!它只会更改现有第一行的值@user145959-抱歉,我错过了,解决方案已更改。您可以轻松地将新数据框的新值转换为原始值,并将其显示在顶部。我想不出这不起作用的原因。
dataset_shifted = dataset.shift(1)
dataset_shifted.iloc[0 , :] = 1
dataset_shifted = dataset.shift(1)
dataset_shifted = dataset_shifted.dropna()
dataset_shifted.loc[0 , :] = 1
dataset_shifted = dataset_shifted.sort_index()

print (dataset_shifted)
        B    C    D
0     1.0  1.0  1.0
3715  4.0  7.0  1.0
3716  5.0  8.0  3.0