计算 pandas 数据帧行中的非空单元格并将计数添加为列

Ati*_*lam 6 python data-analysis dataframe pandas

使用Python,我想计算pandas 数据框中包含数据的行中的单元格数量,并将计数记录在该行最左边的单元格中

根据要求在左侧显示计数列的框架

Kei*_*owd 12

要计算每行中缺少数据的单元格数量,您可能需要执行以下操作:

df.apply(lambda x: x.isnull().sum(), axis='columns')
Run Code Online (Sandbox Code Playgroud)

代替df为数据框的标签。

您可以创建一个新列并使用以下方法将计数写入其中:

df['MISSING'] = df.apply(lambda x: x.isnull().sum(), axis='columns')
Run Code Online (Sandbox Code Playgroud)

该列将创建在数据框的末尾(最右侧)。

您可以像这样移动列:

df = df[['Count', 'M', 'A', 'B', 'C']]
Run Code Online (Sandbox Code Playgroud)

更新

我想知道您丢失的单元格是否实际上是空字符串而不是NaN值。你可否确认?我将您的屏幕截图复制到 Excel 工作簿中。我的完整代码如下:

df = pd.read_excel('count.xlsx', na_values=['', ' '])
df.head() # You should see NaN for empty cells
df['M']=df.apply(lambda x: x.isnull().sum(), axis='columns')
df.head() # Column M should report the values: first row: 0, second row: 1, third row: 2
df = df[['Count', 'M', 'A', 'B', 'C']]
df.head() # Column order should be Count, M, A, B, C
Run Code Online (Sandbox Code Playgroud)

注意方法na_values中的参数pd.read_excel