找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4503|回复: 7

[求助] 小白求助,如何把DataFrame中的某个列,拆分成四个列

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong 发表于 2017-6-21 20:11:44 | 显示全部楼层 |阅读模式
例如:现在有一个储存了许多学生信息的DataFrame,包含了多个列,ID、name、stuSep....
其中stuSep列包含以下信息,R学院/SE专业/20XX/某某班,想要把它转化成四个列,分别描述学院,专业,年级,班级。应该怎么做?求大神给说下,万分感谢!
回复

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong  楼主| 发表于 2017-6-21 21:28:31 | 显示全部楼层
感觉用apply能实现,但自定义函数不会写
回复 支持 反对

使用道具 举报

2

主题

12

帖子

12

积分

贫民

积分
12
hz_oracle 发表于 2017-6-21 21:51:03 | 显示全部楼层
是把所有的学院放在一个列表? 专业一个列表,年纪一个,班级一个? 数据是什么格式呢/?json?
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong  楼主| 发表于 2017-6-22 01:05:40 | 显示全部楼层
hz_oracle 发表于 2017-6-21 21:51
是把所有的学院放在一个列表? 专业一个列表,年纪一个,班级一个? 数据是什么格式呢/?json? ...

对,分成四列,分别对应相应的值,其他数据不变,只是在原来的基础上,stuSep一个列变成了四个列,把stuSep中的数据分割了,数据原来是在.csv文件中
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong  楼主| 发表于 2017-6-22 01:16:34 | 显示全部楼层
111.jpg
如图,把其中‘stuSep’的列,变成四列‘学院’、‘专业’、‘年级’、‘班级’,内容则由‘R学院/SE专业/20XX/某某班变成'R学院'、'SE专业'、'20XX级'、'某某班'。
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong  楼主| 发表于 2017-6-22 11:43:51 | 显示全部楼层
来人啊,救命啊,大佬们
回复 支持 反对

使用道具 举报

0

主题

25

帖子

25

积分

贫民

积分
25
zps26 发表于 2017-6-22 14:56:45 | 显示全部楼层
本帖最后由 zps26 于 2017-6-22 23:45 编辑
  1. import pandas as pd
  2. #stuSep=table['stuSep']
  3. stuSep=["R学院/SE专业/2026级/移动班","R学院/SE专业/2026级/游戏班","R学院/SE专业/2026级/大数据2班"]
  4. 学院=[]
  5. 专业=[]
  6. 年级=[]
  7. 班级=[]

  8. for i in range(0,len(stuSep)):
  9.      yuan,ye,ji,ban=stuSep(i).split('/')   
  10.      学院.append(yuan)
  11.      专业.append(ye)
  12.      年级.append(ji)
  13.      班级.append(ban)
  14.     print(学院,专业,年级,班级)
  15. columns=['xueyuan','zhuanye','nianji','banji']
  16. df=pd.DataFrame({"xueyuan":学院,"zhuanye":专业,"nianji":年级,"banji":班级,},columns=columns)
  17. print(df)
复制代码


-----------------------------------------------------------------------------------------------------
['R学院', 'R学院', 'R学院'] ['SE专业', 'SE专业', 'SE专业'] ['2026级', '2026级', '2026级'] ['移动班', '游戏班', '大数据2班']
     xueyuan zhuanye nianji  banji
0     R学院    SE专业  2026级    移动班
1     R学院    SE专业  2026级    游戏班
2     R学院    SE专业  2026级  大数据2班
回复 支持 反对

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
DB丶dong  楼主| 发表于 2017-6-22 16:21:25 | 显示全部楼层
zps26 发表于 2017-6-22 14:56
import pandas as pd
#stuSep=table['stuSep']
stuSep=["R学院/SE专业/2026级/移动班","R学院/SE专业/2026 ...

没毛病,老铁666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表