sách gpt4 ai đã đi

基于数据集中先前数字的 Pandas DataFrame 编号

In lại 作者:行者123 更新时间:2023-12-02 01:03:41 27 4
mua khóa gpt4 Nike

提前致歉,我不确定如何将 null 值添加到 pandas 数据框,所以我在列表中放置了“无”。我有一个具有以下值的数据框:

None, None, 50,60,70,80,90,None,None, None, 110, None, None

nhập pandas dưới dạng pd
number_list = [None, None, 50,60,70,80,90, None, 100, None, None, None, 110, None, None]
df = pd.DataFrame(number_list, columns=['ID'])

那些没有的需要根据它前面的数字分配一个数字。因此,如果空白值之前的数字是 90,则空白数字将被分配为 91(前面的数字 +1)。如果 None 位于行首,则编号将从 99901 开始,依此类推。

 the final result for this example would be: 
99901, 99902, 50,60,70,80,90,91,92,93,110,111,112

我尝试在 t-sql 中执行此操作,但每批处理时间超过 3 分钟。我有几千批...任何正确方向的一点都将不胜感激!谢谢!!

1 Câu trả lời

国际联合会

# getting the group key df.ID.isnull().astype(int).diff().ne(0).cumsum()  
s=df.groupby(df.ID.isnull().astype(int).diff().ne(0).cumsum()).cumcount().add(1)[df.ID.isnull()]
df.fillna((df.ffill().fillna(90000)).add(s,0))
Out[193]:
NHẬN DẠNG
0 90001.0
1 90002.0
2 50.0
3 60.0
4 70.0
5 80.0
6 90.0
7 91.0
8 100.0
9 101.0
10 102.0
11 103.0
12 110.0
13 111.0
14 112.0

关于基于数据集中先前数字的 Pandas DataFrame 编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49014909/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com