Pandas逐行读取DataFrame数据以及修改对应数据

本文详细介绍了使用Python的Pandas库进行DataFrame数据处理的方法,包括数据读取、修改、筛选和复杂的map与lambda函数结合使用,适用于数据分析和数据预处理等场景。

逐行读取数据,并修改对应数据

	# remove_data,为一个DataFrame对象
    for indexs in remove_data.index:
        # 逐行查看,values可以用int型索引
        remove_data.loc[indexs].values[0:-1]
 
        # 逐行修改列值
        remove_data.loc[indexs, "Norm_peptide"] = norm_protein
        
		# 也可以用loc方法查看指定元素
		remove_data.loc[indexs].values[10]

删除

	# data为DataFrame对象
	# Gene_ID是data的列索引值
	# not_ensenbl是存储Gene_ID的列表
    res= data[~data.Gene_ID.isin(not_ensembl)]

map结合lambda的复杂使用

    data = [[0, '1,4,8,32'], [1, '2,16'], [2, '2,32'], [3, '1,4,8,32'], [4, '1,4']]
    df = pd.DataFrame(data, columns=["id", "val"])

    df["new"] = df["val"].str.split(",")
    df["province"] = df["new"].map(lambda x: 1 if ("1" in x) else (2 if ("2" in x) else 0))
    df["city"] = df["new"].map(lambda x: 4 if ("4" in x) else 0)
    df["district"] = df["new"].map(lambda x: 32 if ("32" in x) else (16 if ("16" in x) else (8 if ("8" in x) else 0)))

    print df
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值