gpt4 book ai didi

python - 如何在 Pandas 数据框的顶部添加一行?

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:12 24 4
gpt4 key购买 nike

我通过这个读取我的数据:

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 并使用 DataFrame.fillna 来简化您的解决方案:

dataset = pd.DataFrame({
'B':[4,5,4],
'C':[7,8,9],
'D':[1,3,5],

}, index=[3714, 3715, 3716])

print (dataset)
B C D
3714 4 7 1
3715 5 8 3
3716 4 9 5

dataset_shifted = dataset.shift(1).fillna(1)
print (dataset_shifted)
B C D
3714 1.0 1.0 1.0
3715 4.0 7.0 1.0
3716 5.0 8.0 3.0

如果可能,缺失值仅按位置设置第一行 DataFrame.iloc :

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

关于python - 如何在 Pandas 数据框的顶部添加一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55234713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com