当前位置: 首页 > 面试题库 >

pandas:打印列名称,缺少值

慕容文昌
2023-03-14
问题内容

我正在尝试打印或获取缺少值的列名称列表。例如

data1 data2 data3  
1     3     3  
2     NaN   5  
3     4     NaN

我想获取[‘data2’,’data3’]。我写了以下代码:

print('\n'.join(map(
    lambda x : str(x[1])
    ,(filter(lambda z: z[0] != False, zip(train.isnull().any(axis=0), train.columns.values)))
)))

它运作良好,但我认为应该是更简单的方法。


问题答案:

df.isnull().any()生成一个布尔数组(如果该列具有缺失值,则为True,否则为False)。您可以使用它索引到df.columns

df.columns[df.isnull().any()]

将返回缺少值的列的列表。

df = pd.DataFrame({'A': [1, 2, 3], 
                   'B': [1, 2, np.nan], 
                   'C': [4, 5, 6], 
                   'D': [np.nan, np.nan, np.nan]})

df
Out: 
   A    B  C   D
0  1  1.0  4 NaN
1  2  2.0  5 NaN
2  3  NaN  6 NaN

df.columns[df.isnull().any()]
Out: Index(['B', 'D'], dtype='object')

df.columns[df.isnull().any()].tolist()  # to get a list instead of an Index object
Out: ['B', 'D']


 类似资料:
  • 已安装: IBM Websphere MQ V7.5 GlassFish V3.1.2.2 MQ Explorer V7.5 我正在尝试为GlassFish配置资源适配器以使用Websphere MQ资源,并遵循http://www-01.ibm.com/support/knowledgecenter/ssfksj_8.0.0/com.ibm.MQ.dev.doc/q121520_.htm中的说明

  • 问题内容: 我在PHP中有一个POST,但我并不总是知道将要处理的变量字段的名称。 我有一个可以遍历值的函数(但是我也想捕获它附带的变量名。) 一旦弄清楚如何获取变量名,我还需要弄清楚如何使函数足够智能以检测和遍历变量的数组(如果存在)(即如果我有一些复选框值)。 问题答案: 如果您只想打印整个$ _POST数组以验证是否正确发送了数据,请使用print_r: 要递归打印数组的内容: 将一些填充应

  • 我创建了一个简单的SpringBoot应用程序。有两类: 1) ManagedBean类 2) NonmangedBean:它具有ManagedBean类的依赖项 还有第三个服务类,它有Rest结束点。 首先,我调用 /processBeanendpoint,将具体对象的NonmangedBean类和自动连接它。(在这里,我知道bean将生活在Spring Container中,直到我关闭服务器。

  • 我有一个pandas数据帧,它由两个带值的列组成。有些值丢失了,我想创建第三列,以标记两列中是否都有丢失的值,或者是否有一列被填充。我不知道如何做这件事,因为我是新来的,如果你能提供任何帮助,我将不胜感激

  • 问题内容: 我正在尝试打印星期几的名称,即星期一,星期二,星期三。我目前有一些代码可以做到这一点。我想知道是否有办法摆脱我的switch语句并使它变得更好。谢谢! 打印“星期一” 问题答案: 您使用了错误的日期格式。正确的格式是。除此之外,您可以使用Calendar属性weekdaySymbols返回本地化的工作日。 另一个选择是使用DateFormatter并将dateFormat设置为,您可以

  • 我正面临一个与下面显示的代码的问题。下面的代码生成json,如下所示: [{“id”:123,“科目”:“英语”},{“id”:456,“科目”:“数学”}] 我们可以看到生成的JSON中缺少name标记。我不明白当我返回Student列表时,结果的json应该包含name标记,因为Student类中有一个类型为“name”的属性。请救命! 学生豆类: 命名Bean类:

  • 例如,一个XML属性值是,但名称空间前缀“repository”从未在数据集中定义。(不要紧,提供商的最佳实践建议定义它!) 所以当我去解封一个示例集时,具有指定前缀的QName属性(在我上面的示例中为“Repository”)是空的!所以看起来JAXB正在“抛出”那些具有未定义名称空间前缀的属性QName值。我很惊讶,它甚至没有保留当地的名字。 理想情况下,我希望保持该值原样,但看起来我无法在绑

  • 我在Spring-Boot启用JPA的项目中有以下相关的JPA注释类(所有Groovy代码): 当我尝试执行以下JPA查询时: 生成的SQL语句似乎没有字符表的别名或appares_in的列名: 生成以下SQL: 非常感谢任何帮助。