在pandas数据框中查找缺失的数据并填写NA

时间:2014-06-17 22:07:25

标签: python pandas

我在pandas中有一个数据框,公司名称和日期为多索引。

companyname date emp1 emp2 emp3..... emp80

其中emp1,emp2分别是emp1和2在该日期拨打的电话数。现在有没有员工打电话的日期。意味着存在所有列值都为0的行。我想用NA填充这些值。 我应该手动编写某些函数中所有列的名称吗?有什么建议如何实现这个?

1 个答案:

答案 0 :(得分:3)

您可以使用all检查整行是否为0:

In [11]: df = pd.DataFrame([[1, 2], [0, 4], [0, 0], [7, 8]])

In [12]: df
Out[12]: 
   0  1
0  1  2
1  0  4
2  0  0
3  7  8

In [13]: (df == 0).all(1)
Out[13]: 
0    False
1    False
2     True
3    False
dtype: bool

现在,您可以使用loc:

将这些行中的所有条目分配给NaN
In [14]: df.loc[(df == 0).all(1)] = np.nan

In [15]: df
Out[15]: 
    0   1
0   1   2
1   0   4
2 NaN NaN
3   7   8