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

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

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。

相关文章
|
4月前
包含多列或多行的单元格
包含多列或多行的单元格。
31 1
|
7月前
|
数据可视化 关系型数据库 MySQL
空值填充技巧(上)
空值填充技巧(上)
74 3
用数字指示Excel表格行数、列数的方法
本文介绍在Excel表格文件中,用数字而非字母来表示列号的方法~
613 1
用数字指示Excel表格行数、列数的方法
|
前端开发
Bootstrap - 列排序,列偏移,列嵌套
Bootstrap - 列排序,列偏移,列嵌套
106 0
|
Python
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
234 0
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
DataTable 修改列名 删除列 调整列顺序
DataTable 修改列名 删除列 调整列顺序
219 0
|
数据挖掘 Python
把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件
把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件
218 0
把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件