首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打印满足特定条件的值的colname和rowname

打印满足特定条件的值的colname和rowname
EN

Stack Overflow用户
提问于 2020-11-13 03:54:29
回答 5查看 104关注 0票数 7

我拼命地试图弄清楚如何打印出我的df中特定值的行索引和列名称。

我有以下df:

代码语言:javascript
运行
复制
raw_data = {'first_name': [NaN, 'Molly', 'Tina', 'Jake', 'Amy'], 
        'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
        'age': [42, 52, NaN, 24, 73], 
        'preTestScore': [4, 24, 31, 33, 3],
        'postTestScore': [25, 94, 57, 62, 70]}

df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 
'preTestScore','postTestScore'])

现在我想打印出NaN的索引和列名:

代码语言:javascript
运行
复制
There is a missing value in row 0 for first_name.
There is a missing value in row 2 for age.

我已经搜索了很多,总是能找到如何在一行中做一些事情。我的想法是首先创建一个具有False和True的df

代码语言:javascript
运行
复制
na = df.isnull()

然后,我想要应用一些函数来打印每个NaN值的行号和col_name。我就是想不出怎么做。

提前感谢您的帮助!

EN

Stack Overflow用户

发布于 2020-11-13 04:04:37

由于NaN的原因,我不得不对df做了一些修改。替换为np.nan

代码语言:javascript
运行
复制
import numpy as np
import pandas as pd
raw_data = {'first_name': [np.nan, 'Molly', 'Tina', 'Jake', 'Amy'], 
        'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
        'age': [42, 52, np.nan, 24, 73], 
        'preTestScore': [4, 24, 31, 33, 3],
        'postTestScore': [25, 94, 57, 62, 70]}

你可以做到的

代码语言:javascript
运行
复制
dfs = df.stack(dropna = False)
[f'There is a missing value in row {i[0]} for {i[1]}' for i in dfs[dfs.isna()].index]

打印列表

代码语言:javascript
运行
复制
['There is a missing value in row 0 for first_name',
 'There is a missing value in row 2 for age']
票数 4
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64810857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档