怎么在dataframe中创建一个新的列,其值是上一行数据第一列的值
时间: 2023-06-26 22:07:37 浏览: 92
spark dataframe 将一列展开,把该列所有值都变成新列的方法
可以使用 pandas 中的 shift() 方法来实现。shift() 方法可以将 DataFrame 或 Series 中的数据沿着指定方向移动,例如,将数据向下移动一行,就可以得到上一行数据的值。
具体操作如下:
假设要在名为 df 的 DataFrame 中创建新的一列,列名为 new_col,其值为上一行数据第一列的值,代码如下:
```
import pandas as pd
# 创建示例 DataFrame
data = {'col1': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 创建新的一列,其值为上一行数据第一列的值
df['new_col'] = df['col1'].shift(1)
print(df)
```
输出结果如下:
```
col1 new_col
0 1 NaN
1 2 1.0
2 3 2.0
3 4 3.0
4 5 4.0
```
其中,第一行的 new_col 值为 NaN,因为第一行没有上一行数据。从第二行开始,new_col 列的值为上一行数据的 col1 列的值。
阅读全文