如何使用python获取丢失的记录行号和列名?
Posted
技术标签:
【中文标题】如何使用python获取丢失的记录行号和列名?【英文标题】:How to get the missing record Row number and column names using python? 【发布时间】:2022-01-17 02:52:43 【问题描述】:使用python和pandas,我想实现下面的输出。只要文件中存在Null
或Nan
值,则需要打印行号和列名。
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
【问题讨论】:
【参考方案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读取数据,Null
和NAN
可能会被np.nan
替换。试试s = df.isna() | df.isin(['Null', 'NAN'])
。
太棒了。非常感谢。按预期工作..以上是关于如何使用python获取丢失的记录行号和列名?的主要内容,如果未能解决你的问题,请参考以下文章