我的数据集如下:
import pandas as pd
dict = {"A":[1,1,1,1,5],"B":[1,1,2,4,1]}
dt = pd.DataFrame(data=dict)
具体如下:
A B
1 1
1 1
1 2
1 4
5 1
我需要基于A
和B
计算每个组有多少条记录来应用groupby?
我已应用以下解决方案:
dtSize = dt.groupby(by=["A","B"], as_index=False).size()
dtSize.to_csv("./datasets/Final DT/dtSize.csv", sep=',', encoding='utf-8', index=False)
我有两个问题:
当我打开保存的文件时,它只包含最后一列,其中包括每个组中的number元素,但不包括组
当我打印最后的dtSize
时,它如下所示:
因此,A
中的一些类似记录丢失了。你知道吗
我的favorit输出如下在.csv
文件中
A B Number of elements in group
1 1 2
1 2 1
1 4 1
5 1 1
实际上,来自
A
的数据并没有丢失。GroupBy.size返回一个序列,因此A
和B
用作MultiIndex
。因此,不会打印前三行中A
的重复值。你知道吗你很接近。您需要重置索引,并可以选择将结果命名为:
结果是:
相关问题 更多 >
编程相关推荐