我有一个熊猫数据框,其列值如下:
x1 x2
0 20
1 20
2 20
3 20
4 20
5 20
6 20
7 20
8 20
9 20
10 20
我想像这样在group_x1中将x1中的元素分组为5个大小。 x2在这种情况下不相关。
x1 x2 group_x1
0 20 0
1 20 0
2 20 0
3 20 0
4 20 0
5 20 1
6 20 1
7 20 1
8 20 1
9 20 1
10 20 1
所以数字0到4之间的值被映射为0 并将5到9的值映射为1。
我尝试了pq.cut和groupby函数,但是它不起作用。需要0到25,000之间的值
答案 0 :(得分:1)
尝试一下:
df['group_x1'] = df['x1'] // 5
答案 1 :(得分:1)
IIUC
import re
from functools import reduce
print(reduce(set.union, ({m.start() for m in re.finditer('1', s)} for s in sample)))
答案 2 :(得分:0)
这可以通过在相关列上使用groupby
和apply
来实现:
df = pd.DataFrame([[0], [1], [5], [6]], columns=['x1'])
df['x1_group'] = (df['x1'] / 5).astype(int)
groups = df.groupby('x1_group')['x1'].apply(list)
哪种产量:
x1_group
0 [0, 1]
1 [5, 6]
在这种情况下,组密钥为group_x1
,并且对于每个组,仅x1
的值是通过list
方法使用apply
处理的。