我想获得dataframe中的行数:
count1 = df[(df['col1'] == xxx) & (df['col2'] == yyy)].count()
但它仍然会回归系列赛。如何将实际计数作为int?
答案 0 :(得分:1)
我不知道为什么count()
没有按预期工作,但这确实有效:
df2 = df[(df['col1'] == xxx) & (df['col2'] == yyy)]
count = len(df2) # int
答案 1 :(得分:0)
将生成的系列转换为列表可以帮助您“tolist()”
答案 2 :(得分:0)
不清楚你在这里期待什么df.count()
会返回一个系列或df,显示行数或列数,为什么你会期望返回一个简单的标量值?
如果您只想行行,请执行len(count)
或count.shape[0]
示例:
In [173]:
df = pd.DataFrame({'a':[0,2,2,3,5], 'b':[0,1,1,3,5], 'c':np.random.randn(5)})
df
Out[173]:
a b c
0 0 0 -1.192011
1 2 1 0.290372
2 2 1 -0.092076
3 3 3 0.821918
4 5 5 0.551033
In [180]:
count1 = df[(df['a'] == 2) & (df['b']==1)]
len(count1)
Out[180]:
2