python中的count方法不能忽略空字符串

时间:2018-08-31 07:18:26

标签: python pandas

import pandas as pd
df = pd.DataFrame({'x':[1,2,1,2,1,3,2],'y':[34,23,23,65,45,12,28],'z':['a','b','a','','a','c','b']})
df.groupby('x').z.count().reset_index()
  x  z
0  1  3
1  2  3
2  3  1

但这不是我想要的,空字符串不应该在计数中,所以我想要的是

  x  z
0  1  3
1  2  2
2  3  1
我应该怎么做?

2 个答案:

答案 0 :(得分:2)

在python中,空字符串不被视为null,您可以将其替换为null并执行相同的操作。

df['z']=df['z'].replace({'':np.NAN})
df.groupby('x').z.count().reset_index()

答案 1 :(得分:2)

使用replace

df.replace({'z':''},np.nan).groupby('x',as_index=False).z.count()

mysqli_query($connection, "SET @x = 0; UPDATE table SET someValue = (@x=@x*2) WHERE someID = 4;");