python – Pandas Dataframe将数据拼接成2列,并用逗号和整数表示
发布时间:2020-12-20 11:05:21 所属栏目:Python 来源:网络整理
导读:我目前遇到两个问题: 我的数据框架如下所示: ,male_female,no_of_students0,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,811201,33,67,122702,50,101203,42,58,51204,1
我目前遇到两个问题:
我的数据框架如下所示: ,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.split 和
pop ,然后使用
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |