第三章14节-Pandas其他函数的运用(下)

1、将表格里的电话号码中间几位数设置为*

  • 先导入数据集,可以看到电话号码的数据是全部显示出来的

  •  希望把每一个电话号码的中间数值以加密的形式再展现出来
  • df['tel'] = df['tel'].apply(lambda x: x.replace(x[3:7],'****'))

2、只显示表格中电话号码的前三位,并形成新的一列数据

  • 将数据的前三位展示出来就可以了
  • df['new_tel'] = df['tel'].str[0:3]

3、将表格的电子邮箱的域名取出

  • 首先查看原数据中的电子邮箱信息, 都是用户名+@+域名的形式

  •  希望只显示域名,则可以以@为分隔符,取出域名信息
  • df['email'] = df['email'].apply(lambda x: x.split('@')[1])

 4、将过于具体的时间去掉只留下日期

  •  先读取数据集,这是另外一个数据

  •  由于数据量有些大,可以对此进行样本抽取,取5万个
  • data = df.sample(n = 50000,replace = False)

  •  查看原数据的时间形式,具体到了时分秒

  •  去掉具体的时分秒,并另起新的一列数据
  • df['date'] = df['InvoiceDate'].dt.date

5、计算每一个订单的总价

  • 用每一个订单的数量*单价
  • data['total_price'] = df[['Quantity','UnitPrice']].apply(np.prod,axis = 1)

6、按日期汇总表格的数据

  • grouped_data = data.groupby(by = 'date').sum()

 7、将字符类型的日期行索引转化为日期类型

  • 查看按日期行分组的索引类型
  • grouped_data.index

  • 可以看到行索引并不是日期数据类型的,将其转化
  • grouped_data.index = pd.to_datetime(grouped_data.index)

 

8、计算每天总价的变化率

  • 前面表格已是按日期每天展示,总价的变化率等于(当天的总价-前一天的总价)/前一天的总价
  • grouped_data['总价变化率'] = grouped_data['total_price'].pct_change() 

 9、计算每五日一次的平均总价

  • 使用.rolling(5)方法
  • grouped_data['SMA_5'] = grouped_data['total_price'].rolling(5).mean()

 10、将某列的数据下上平移

  • 使用.shift(1)方法,当参数为正数时,向下平移,当参数为负数时,向上平移
  • grouped_data['total_price_before'] = grouped_data['total_price'].shift(1)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值