我是python的新手,问题陈述类似于下面的数据作为数据。
df = pd.DataFrame({'Diff':[1,1,2,3,4,4,5,6,7,7,8,9,9,10], 'value':[x,x,y,x,x,x,y,x,z,x,x,y,y,z]})
Diff value
1 x
1 x
2 y
3 x
4 x
4 x
5 y
6 x
7 z
7 x
8 x
9 y
9 y
10 z
我们需要将diff列分组为3(比方说),像0-3,3-6,6-9,>9,并且值应该是计数的。
预期产出就像
Diff x y z
0-3 2 1
3-6 3 1
6-9 3 1
>=9 2 1
发布于 2022-12-03 09:09:42
示例
示例代码是错误的。想要锻炼的人,请使用以下代码
df = pd.DataFrame({'Diff':[1,1,2,3,4,4,5,6,7,7,8,9,9,10],
'value':'x,x,y,x,x,x,y,x,z,x,x,y,y,z'.split(',')})
码
labels = ['0-3', '3-6', '6-9', '>=9']
grouper = pd.cut(df['Diff'], bins=[0, 3, 6, 9, float('inf')], right=False, labels=labels)
pd.crosstab(grouper, df['value'])
产出:
value x y z
Diff
0-3 2 1 0
3-6 3 1 0
6-9 3 0 1
>=9 0 2 1
https://stackoverflow.com/questions/74665214
复制相似问题