Re: [問題] for + if 優化問題
感謝TuCH大大的code! 成功了超快!
但又出現一個問題..如果說原本code的以下標記^的部分
改成df['B'][i] + 1 請問要怎麼寫會比較好呢?
就像excel中, 符合條件的欄位, 則B2=B1+1, 如果B1=1, 則B2 = 2
然後往下拉, 依序是3, 4, 5...直到下一個不合條件的值為原本的1,
接著再2, 3, 4..持續下去
謝謝!
: : for i in range(len(df)):
: if df['A'][i+1] == df['A'][i]:
: df['B'][i+1] = df['A'][i] + 1
^^^^^^^^^^
改成=>df['B'][i] + 1
: else:
: df['B'][i+1] = 1
※ 引述《TuCH (謬客)》之銘言:
: 一千萬筆大約0.6秒 給您參考看看
: import pandas as pd
: import numpy as np
: # 隨機產生測試資料
: data = np.random.randint(1,9,10000000)
: # pandas 讀取
: df = pd.DataFrame(data)
: # column 取名
: df.columns = ['A']
: # column B 初始化
: df['B'] = 1
: # 計算
: df.loc[df['A'].diff()==0,'B'] = df['A'].shift()+1
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.228.83
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1556553008.A.355.html
※ 編輯: Brahms5566 (223.137.228.83), 04/30/2019 00:01:22
推
04/30 08:17,
5年前
, 1F
04/30 08:17, 1F
→
04/30 11:10,
5年前
, 2F
04/30 11:10, 2F
→
04/30 11:10,
5年前
, 3F
04/30 11:10, 3F
→
04/30 12:40,
5年前
, 4F
04/30 12:40, 4F
→
04/30 21:18,
5年前
, 5F
04/30 21:18, 5F
→
04/30 21:18,
5年前
, 6F
04/30 21:18, 6F
推
05/02 03:06,
5年前
, 7F
05/02 03:06, 7F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 4 篇):
問題
8
12