Python 对数据帧行中的非空单元格进行计数,并将计数作为列添加

Python 对数据帧行中的非空单元格进行计数,并将计数作为列添加,python,pandas,dataframe,data-analysis,Python,Pandas,Dataframe,Data Analysis,使用Python,我想在pandas数据框中计算包含数据的行中的单元格数,并在该行最左边的单元格中记录计数 要计算每行中缺少数据的单元格数,您可能需要执行以下操作: df.apply(lambda x: x.isnull().sum(), axis='columns') df = df[['Count', 'M', 'A', 'B', 'C']] 用数据框的标签替换df 您可以创建一个新列,并使用以下方法将计数写入其中: df['MISSING'] = df.apply(lambda x:

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


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

df.apply(lambda x: x.isnull().sum(), axis='columns')
df = df[['Count', 'M', 'A', 'B', 'C']]
用数据框的标签替换
df

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

df['MISSING'] = df.apply(lambda x: x.isnull().sum(), axis='columns')
该列将在数据帧的末尾(最右边)创建

可以按如下方式移动列:

df.apply(lambda x: x.isnull().sum(), axis='columns')
df = df[['Count', 'M', 'A', 'B', 'C']]
更新 我想知道您缺少的单元格是否实际上是空字符串,而不是
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

请注意
pd.read\u excel
方法中的
na\u value
参数

请发布您的数据和所需输出的示例,以及您迄今为止尝试的代码。我在说明中添加了一个指向图像的链接。我很抱歉没有提供详细信息。这是我第一次发布关于堆栈溢出的帖子。正如@KeithDowd的回答中提到的,“空”单元格并不是真正的“空”,它们可能包含空字符串、一些numpy nan值、None等。因此,如果要计算这些空单元格,检查它们的实际内容很重要。你有没有可能把我的回答作为你问题的答案?:)我想知道该列将添加到哪里。我需要在最左边的列后面添加它。所以基本上是B列,然后将所有数据向右移动。我也测试了它。所有缺失的值都是4,而不是实际的计数。您好,非常感谢您的帮助,但我尝试了您的最终解决方案,对于缺失列中的所有值,我只得到了0。我又发布了一次更新。看看这是否对你有帮助。很抱歉,这太棘手了。我缺少的数据是空字符串,它们不是nan值