【问题标题】:How to get the missing record Row number and column names using python?如何使用python获取丢失的记录行号和列名?
【发布时间】:2022-01-17 02:52:43
【问题描述】:

使用python和pandas,我想实现下面的输出。只要文件中存在NullNan 值,则需要打印行号和列名。

import pandas as pd

# List of Tuples
employees = [('Stuti', 'Null', 'Varanasi', 20000),
        ('Saumya', 'NAN', 'NAN', 35000),
        ('Saumya', 32, 'Delhi', 30000),
        ('Aaditya', 40, 'Dehradun', 24000),
        ('NAN', 45, 'Delhi', 70000)
        ]

# Create a DataFrame object from list
df = pd.DataFrame(employees,
            columns =['Name', 'Age',
            'City', 'Salary'])
print(df)

预期输出:

Row 0: column Age missing
Row 1: Column Age, column City missing
Row 4: Column Name missing

【问题讨论】:

    标签: python python-3.x pandas dataframe csv


    【解决方案1】:

    尝试isin 屏蔽缺失值,然后矩阵乘以@ 与列以连接它们:

    s = df.isin(['Null','NAN'])
    
    missing = s.loc[s.any(1)] @ ('column ' + df.columns + ', ')
    for r, val in missing.str[:-2].items():
        print(f'Row {r}: {val} is missing')
    

    输出:

    Row 0: column Age is missing
    Row 1: column Age, column City is missing
    Row 4: column Name is missing
    

    【讨论】:

    • 从本地读取 csv 文件数据后不打印任何内容。你对此有什么建议吗?将熊猫导入为 pd df = pd.read_csv ('names.csv') print(df)
    • 如果从csv读取数据,NullNAN可能会被np.nan替换。试试s = df.isna() | df.isin(['Null', 'NAN'])
    • 太棒了。非常感谢。按预期工作..
    猜你喜欢
    • 1970-01-01
    • 2010-09-30
    • 2010-10-06
    • 2022-01-03
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多