pandas 笔记:shift

用于将数据系列或数据框中的数据按指定的位置移动。这对于某些时间序列分析特别有用,例如计算数据的变化量或滞后值

1 对Series/DataFrame数据进行移动

1.0 原始数据

import pandas as pd
import numpy as np
df1=pd.DataFrame(np.arange(12).reshape(3,4),
                 columns=['a','b','c','d'],
                 index=['A','B','C'])
df1

'''

    a	b	c	d
A	0	1	2	3
B	4	5	6	7
C	8	9	10	11
'''

1.1  正数:向下移动,负数:向上移动

df1.shift(1)
'''

    a	b	c	d
A	NaN	NaN	NaN	NaN
B	0.0	1.0	2.0	3.0
C	4.0	5.0	6.0	7.0
'''


df1.shift(-2)
'''

    a	b	c	d
A	8.0	9.0	10.011.0
B	NaN	NaN	NaN	NaN
C	NaN	NaN	NaN	NaN
'''

1.2 axis 沿着那个轴shift(默认0)

df1.shift(-2,axis=1)
'''

a	b	c	d
A	2	3	NaN	NaN
B	6	7	NaN	NaN
C	10	11	NaN	NaN
'''

1.3 fill_value (NaN 用什么填充)

df1.shift(-2,
          axis=1,
         fill_value='-1')

'''
	a	b	c	d
A	2	3	-1	-1
B	6	7	-1	-1
C	10	11	-1	-1
'''

1.4 对单列进行shift

df1['a'].shift(-2,
         fill_value='-1')
'''
A     8
B    -1
C    -1
Name: a, dtype: object
'''

2 DateTime shift

import pandas as pd

df=pd.date_range(start='2023-09-13 10:00:00',
             end='2023-09-13 18:00:00',
             freq='1h')
df
'''
DatetimeIndex(['2023-09-13 10:00:00', '2023-09-13 11:00:00',
               '2023-09-13 12:00:00', '2023-09-13 13:00:00',
               '2023-09-13 14:00:00', '2023-09-13 15:00:00',
               '2023-09-13 16:00:00', '2023-09-13 17:00:00',
               '2023-09-13 18:00:00'],
              dtype='datetime64[ns]', freq='H')
'''

默认按照dataframe的frequency 进行shift

df.shift(2,)
'''
DatetimeIndex(['2023-09-13 12:00:00', '2023-09-13 13:00:00',
               '2023-09-13 14:00:00', '2023-09-13 15:00:00',
               '2023-09-13 16:00:00', '2023-09-13 17:00:00',
               '2023-09-13 18:00:00', '2023-09-13 19:00:00',
               '2023-09-13 20:00:00'],
              dtype='datetime64[ns]', freq='H')
'''

freq 手动指定frequency

df.shift(2,freq='1min')
'''
DatetimeIndex(['2023-09-13 10:02:00', '2023-09-13 11:02:00',
               '2023-09-13 12:02:00', '2023-09-13 13:02:00',
               '2023-09-13 14:02:00', '2023-09-13 15:02:00',
               '2023-09-13 16:02:00', '2023-09-13 17:02:00',
               '2023-09-13 18:02:00'],
              dtype='datetime64[ns]', freq='H')
'''

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 你可以在jupyter notebook中打开一个新的notebook,然后在代码块中输入import pandas as pd,如果没有报错,则说明pandas已经安装了。你也可以在命令行输入pip list | grep pandas来检查pandas是否已经安装。 ### 回答2: 要检查Jupyter是否安装了pandas,可以按照以下步骤进行操作: 1. 打开Jupyter Notebook。可以在命令行窗口中输入"jupyter notebook"命令,或者在开始菜单中找到Jupyter Notebook并打开它。 2. 在Jupyter Notebook的界面中,点击右上方的"New"按钮,然后选择"Pandas",再选择"Python3"。这将打开一个新的Jupyter Notebook页面。 3. 在Jupyter Notebook页面的输入框中,输入一些pandas相关的代码,例如: ```python import pandas as pd print(pd.__version__) ``` 4. 然后按下Shift + Enter键执行代码。如果Jupyter Notebook安装了pandas,它将打印出pandas的版本号。 如果Jupyter Notebook没有安装pandas,将会出现一个错误消息,表明找不到pandas模块。这时需要安装pandas。 总结:检查Jupyter是否安装了pandas的方法是通过在Jupyter Notebook中执行一段pandas代码,查看是否能够正确执行和输出结果。 ### 回答3: 要检查Jupyter是否安装了Pandas,可以按照以下步骤操作: 1. 打开Jupyter Notebook,可以在终端中运行命令`jupyter notebook`。 2. 在Jupyter Notebook的界面中,点击右上角的"New"按钮,然后选择"Python 3",以创建一个新的Python 3笔记本。 3. 在新的笔记本中,导入Pandas库。可以在第一个代码单元格中输入以下代码,并运行它: ```python import pandas as pd ``` 4. 如果成功导入Pandas库并且没有出现任何错误提示,那么说明Jupyter已经安装了Pandas。你可以继续在该笔记本中使用Pandas库进行数据处理和分析。 5. 如果导入过程中出现错误提示,可能有以下几种原因: - Jupyter没有正确安装。在终端中运行`pip install jupyter`来安装或更新Jupyter。 - Pandas没有正确安装。在终端中运行`pip install pandas`来安装或更新Pandas。 - 笔记本中的代码存在错误。检查代码的拼写和语法错误,确保正确导入Pandas库。 6. 如果问题仍然存在,可以尝试重启Jupyter Notebook,并重复上述步骤。有时候,重新启动可以解决导入问题。 总结来说,通过在Jupyter Notebook中导入Pandas库并检查是否出现错误提示,可以确定Jupyter是否已经安装了Pandas。如果成功导入,那么说明已经安装了,如果导入过程中出现错误,则需要检查Jupyter或Pandas的安装情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值