如何(更好)将 Pandas 数据帧中的 NaN 数据获取到新数据帧中?

问题描述 投票:0回答:1

我有一个数据框,目前正在创建一个新的数据框,其中包含列名称和空单元格数量,如下所示。

empty = pd.DataFrame(columns=['Column', 'NaNs'])
for (columnName, columnData) in dataset.items():
    empty.loc[-1] = [columnName, columnData.isnull().any().sum()]
    empty.index = empty.index + 1
    empty = empty.sort_index()

这是一个简单概览表的 5 行。

我想知道是否有更好、更短的方法可以用

transpose
apply
或其他我目前无法弄清楚的东西来实现相同的目的。

python pandas dataframe
1个回答
0
投票

您可以迭代

df.columns
并计算其中的空值数量,然后将其直接传递给
pd.DataFrame
:

import pandas as pd

df = pd.DataFrame({"a": [0, 1, None], "b": [0, None, 2], "c": [0, None, None]})

empty = pd.DataFrame(
    {"Column": column, "NaNs": df[column].isnull().sum()} for column in df.columns
)

print(empty)

输出:

  Column  NaNs
0      a     1
1      b     1
2      c     2
© www.soinside.com 2019 - 2024. All rights reserved.