亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新列從另一個數據幀的 max(value) 增量添加一個

新列從另一個數據幀的 max(value) 增量添加一個

哈士奇WWW 2022-07-05 15:30:46
如何添加一個df1.days使用max(df2.days) + 1(1175) 的列,并為所有剩余的行增量添加一個?我不能為此使用 cumsums。df1 = pd.DataFrame({        'date': ['2001-01-01','2001-01-02','2001-01-03', '2001-01-04', '2001-01-05'],        'prod': [800, 900, 1200, 700, 600]})df2 = pd.DataFrame({'days': [99,1,188,1173,1174]})所需的數據框:print(d1)         date  prod days0  2001-01-01   800 11751  2001-01-02   900 11762  2001-01-03  1200 11773  2001-01-04   700 17784  2001-01-05   600 1779
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

1.pandas方法

使用fillna和cumsum:


df1.loc[0, 'days'] = df2['days'].max()

df1['days'] = df1['days'].fillna(1).cumsum()


         date  prod    days

0  2001-01-01   800  1175.0

1  2001-01-02   900  1176.0

2  2001-01-03  1200  1177.0

3  2001-01-04   700  1178.0

4  2001-01-05   600  1179.0

2.numpy方法

df1['days'] = np.cumsum(np.append([df2['days'].max()], np.ones(len(df1)-1)))


         date  prod    days

0  2001-01-01   800  1175.0

1  2001-01-02   900  1176.0

2  2001-01-03  1200  1177.0

3  2001-01-04   700  1178.0

4  2001-01-05   600  1179.0

3. 不cumsum帶for loop

(不是優選的)


values = []

value = df2['days'].max()

for x in range(len(df1)):

    values.append(value)

    value += 1


df1['days'] = values


         date  prod  days

0  2001-01-01   800  1175

1  2001-01-02   900  1176

2  2001-01-03  1200  1177

3  2001-01-04   700  1178

4  2001-01-05   600  1179


查看完整回答
反對 回復 2022-07-05
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

您可以插入范圍為 =(df2 天 max+1 到 df2 天 max+行數)的列。第一個參數 len(df1.columns) 是在最后加上這一列,不影響邏輯


df1.insert(len(df1.columns),'days',range(df2.days.max()+1, df2.days.max()+1+len(df1)))


date    prod    days

0   2001-01-01  800 1175

1   2001-01-02  900 1176

2   2001-01-03  1200    1177

3   2001-01-04  700 1178

4   2001-01-05  600 1179


查看完整回答
反對 回復 2022-07-05
  • 2 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號