Pandas shift - 如何保留最后一行?
Pandas shift - how to keep the last row?
我有一个非常简单的问题。我有一个数据框:
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
简单来说 - 如何在不丢失最后一行的情况下移动数据?
只需复制一个 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
试试这个:
df.shift(1).append(
df.iloc[[-1]]).reset_index(drop = True)
我有一个非常简单的问题。我有一个数据框:
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
简单来说 - 如何在不丢失最后一行的情况下移动数据?
只需复制一个 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
试试这个:
df.shift(1).append(
df.iloc[[-1]]).reset_index(drop = True)