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