目前我想有这样的数据
data = {
'A': ['2023-07-01'] * 6 + ['2023-07-02'] * 5,
'data1': ['abnormal'] * 11,
'data2': ['X', 'X', 'X', 'Y', 'Y', 'Z', 'X', 'Y', 'Z', 'Z', 'A'],
'Data3': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110],
'Data4': ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
}
字符串
x1c 0d1x的数据
目前我做的是groupby A聚合来计数记录,得到不同的计数,找到不同的值
def create_set_ori(x):
return sorted(set(x))
result = df.groupby(['A']).agg({
'data1': 'count',
'data2': [pd.Series.nunique, create_set_ori]
}).reset_index()
result.columns = ['_'.join(col).strip() for col in result.columns.values]
型
哪种产品结果为
的
现在,我想升级create_set_ori函数,以提供额外的信息,计数发生细节事件发生,并将事件计数器按格式排序
(data 2,n)以及按n排序
例如
| data1_count| data2_nunique| data2_create_set| data2_create_set |
| --|--|--| ------------ |
| 六|三个|[(X,3),(Y,2),(Z,1)]| [(X, 3), (Y, 2), (Z, 1)] |
| 五|四|[(Z,2),(X,1),(Y,1),(A,1)]| [(Z, 2), (X, 1), (Y, 1), (A, 1)] |
我在想我该怎么保存呢?
2条答案
按热度按时间mbyulnm01#
让我们使用
collections
模块中的Counter
个字符
kkbh8khc2#
如果我理解正确的话,我认为你想从收藏中导入Counter。
Counter将返回一个dict,其中项作为键,计数作为值。
它将返回:
字符串
https://docs.python.org/3/library/collections.html