簡體   English   中英

在 pandas DataFrame 中使用索引進行分組和聚合

[英]Use of index in pandas DataFrame for groupby and aggregation

我想聚合一個單列 DataFrame 並計算元素的數量。 但是,我總是得到一個空的 DataFrame:

pd.DataFrame({"A":[1, 2, 3, 4, 5, 5, 5]}).groupby("A").count()

Out[46]: 
Empty DataFrame
Columns: []
Index: [1, 2, 3, 4, 5]

如果我添加第二列,我會得到想要的結果:

pd.DataFrame({"A":[1, 2, 3, 4, 5, 5, 5], "B":[1, 2, 3, 4, 5, 5, 5]}).groupby("A").count()

Out[45]: 
   B
A   
1  1
2  1
3  1
4  1
5  3

你能解釋一下這個原因嗎?

試一試:

import pandas as pd
print(pd.DataFrame({"A":[1, 2, 3, 4, 5, 5, 5]}).groupby("A")["A"].count())

印刷

A
1    1
2    1
3    1
4    1
5    3

您必須在結果中添加按列分組:

import pandas as pd
pd.DataFrame({"A":[1, 2, 3, 4, 5, 5, 5]}).groupby("A").A.count()

Output:

A
1    1
2    1
3    1
4    1
5    3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM