我有一个非常简单的问题。我有一个数据框架:
A
0 1.0
1 2.0
2 3.0
,当我执行df.shift(1)时,数据看起来像:
A
0 NaN
1 1.0
2 2.0
,我希望它看起来像:
A
0 NaN
1 1.0
2 2.0
3 3.0
简单地说,我如何在不丢失最后一行的情况下移动数据?
试试这个:
df.shift(1).append(
df.iloc[[-1]]).reset_index(drop = True)
只添加一个nan行,然后将其附加到顶部:
import pandas as pd
import numpy as np
data = [1.0,2.0,3.0]
df = pd.DataFrame(data, columns = ['A'])
df1 = pd.DataFrame([[np.nan] * len(df.columns)], columns=df.columns)
df = df1.append(df, ignore_index=True)
print(df)
A
0 NaN
1 1.0
2 2.0
3 3.0