python – Pandas Dataframe将数据拼接成2列,并用逗号和整数表示数字

我目前遇到两个问题:

我的数据框架如下所示:

,male_female,no_of_students
0,24 : 76,"81,120"
1,33 : 67,"12,270"
2,50 : 50,"10,120"
3,42 : 58,"5,120"
4,12 : 88,"2,200"

我想要实现的是:

,male,female,24,76,81120
1,33,67,12270
2,50,10120
3,42,58,5120
4,12,88,2200

基本上我想将male_female转换为两列,将no_of_students转换为整数列.我尝试了很多东西,将no_of_students列转换为另一种带有.astype的类型.但似乎没有什么工作正常,我也无法找到一个聪明的方法来正确分割male_female列.

希望有人可以帮助我!

解决方法

对于按列分隔的新列,使用 str.splitpop,然后使用 strip尾随值,replace并在必要时转换为整数:

df[['male','female']] = df.pop('male_female').str.split(' : ',expand=True)
df['no_of_students'] = df['no_of_students'].str.strip('" ').str.replace(',','').astype(int)
df = df[['male','female','no_of_students']]

print (df)
  male female  no_of_students
0   24     76           81120
1   33     67           12270
2   50     50           10120
3   42     58            5120
4   12     88            2200

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...