如何合并列--将dataFrame中所有非科学的学科类合并到到一个非科学列中,所有的科学列的数据合并到一个科学列中

如何合并列--将dataFrame中所有非科学的学科类合并到到一个非科学列中,所有的科学列的数据合并到一个科学列中:

原始图为:

如上图,我们想将所有的非科学类学科列合并到一起成为一个非科学列,所有的科学列合并到一起成为一个科学列

首先,可以看到表里的数据只是各个学科的数据因此我们可以将该列布尔类型的数据转换为0和1表示的数据,这样就可以累加列,也就是一个用户他只要属于这些非科学类学科类的任意一科他的状态就变为1了。(转换过程在文章“如何将DataFrame中的FALSE/TRUE数据用0/1表示”)。

转换之后就是列累加,并将累加的结果(例如所有science学科)保存在一个新列df['Science']中,代码如下:

(1)在原dataframe上新建一个新列用来保存累加后的值:df['Science']=0

  (2) 累加保存(这里我事先在原始csv文件中将所有的science学科的列名后加了‘_science’所以我们只需要寻找含有‘_science’的列名,并将其累加保存),代码如下:

df['science']=0

for col in  df.columns:

    if col.find('_science')>0:
        df['science']=df['science']+df[col]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值