Python 将数据框拼接数据分为两列,并使用逗号和整数生成一个数字

Python 将数据框拼接数据分为两列,并使用逗号和整数生成一个数字,python,pandas,dataframe,Python,Pandas,Dataframe,我目前遇到两个问题: 我的数据框如下所示: , 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, no_of_students 0, 24, 76, 81120 1, 33, 67, 12270 2, 50, 50, 10120 3, 4

我目前遇到两个问题:

我的数据框如下所示:

, 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, no_of_students
0, 24, 76, 81120
1, 33, 67, 12270
2, 50, 50, 10120
3, 42, 58, 5120
4, 12, 88, 2200
基本上我想把男学生和女学生转换成两列,把没有学生的学生转换成一列整数。我尝试了很多方法,用.astype将no_of_students列转换成另一种类型。但似乎没有什么能正常工作,我也找不到一个聪明的方法来正确地拆分男/女专栏

希望有人能帮我

按分隔符对新列使用with,然后使用尾随值,如有必要,将其转换为
integer
s:

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

您如何获取数据?例如,你读过csv文件吗?我正在从一个网站上抓取它,所以数据基本上是按照呈现的方式收集的。嘿,谢谢你的帮助。男女部分是有效的,但当我尝试使用“没有”的学生时,它引发了一个错误:AttributeError:只能使用带字符串值的.str访问器,该访问器在Pandasnavermind中使用np.object udtype,这是另一回事:我加载了它并使用了数千=','。很抱歉给您添麻烦,现在一切都很好,谢谢@PEREZje-是的,这里最好省略
数千