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我应该怎么做?
答案 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;");