Panda处理CSV文件,如果A列值为空,则用B列值填充,如果B列值仍为空,用C列值填充A

需求:

CSV文件中  A 列的值不全,如果为空值,则使用B 列的值,如果B列的值仍为空,则使用 C 列的值。

做法:

为简化需求,将所有值统一到 A 列,即填充 A 列空值,如果该行 B 列有值,则用 B 列值填充,否则用 C 列值填充。

代码实现:


import pandas as pd

def check_nan(x):
    if pd.isnull(x['A']):
        if pd.isnull(x['B']):
            return x['C']
        else:
            return x['B']
    return x['A']

# path 为输入文件,out为数据处理后的输出文件
def get_new_file(path,out):
    df = pd.read_csv(path)
 
    df['A'] = df.apply(lambda x : check_nan(x), axis=1)
    df.to_csv(out, index = False)

代码理解:

1. 函数 check_nan(x) 实现填充功能,即检查 A 列空值,用 B 列或 C 列填充。

2. 函数 get_new_file() 使用pands,处理 CSV 文件,注意 appy() 函数中 lambda 的使用。其中 axis = 1是按列处理,若想按行处理,则用 axis = 0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值