python按行拆分表格_Pandas进阶之DataFrame行列拆分

数据

需求:将Brands_rank列中的不同品牌名,单独列出来

观察数据:不同的品牌名,由横杆(-)隔开,第3行只有1个横杆(-)

为实现需求,可以将Brands_rank列拆为3列,或者将3行Brands_rank数据拆为8行。

# -*- coding:utf-8 -*-

import pandas as pd

import numpy as np

df

Type Brands_rank

0 Computer Mac-Dell-Lenovo

1 Phone Mac-XiaoMi-HuaWei

2 Pad Mac-HuaWei

一列拆多列

获取Type列

df_column = df.Type.to_frame()

print(df_column)

Type

0 Computer

1 Phone

2 Pad

基于Brands_rank列构造多列

方法一:当截取的内容长度和位置固定时,可直接使用字符串切片,本例中,以截取Brands_rank的Mac为例

df_column['Brands-First'] = df.Brands_rank.astype('str').str[0:3]

print(df_column)

Type Brands-First

0 Computer Mac

1 Phone Mac

2 Pad Mac

方法二:当截取的内容长度不固定时,如Brands_rank中横杆(-)的中间部分,字符串长度不一致,使用字符串分割函数split()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值