第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

更新數(shù)據(jù)框列并丟失日期索引

更新數(shù)據(jù)框列并丟失日期索引

一只斗牛犬 2022-11-09 17:25:15
我有兩個數(shù)據(jù)框df1:            col2  col3 deptdate                       2020-05-06    29    21    A2020-05-07    56    12    B2020-05-08    82    15    C2020-05-09    13     9    D2020-05-10    35    13    E2020-05-11    53    87    F2020-05-12    25     9    G2020-05-13    23    63    Hdf2:            col2 deptdate                 2020-05-06    64    A2020-05-07    41    B2020-05-08    95    C2020-05-09    58    D2020-05-10    89    E2020-05-11    37    F2020-05-12    24    G2020-05-13    67    H我想用列col2中df1的值更新列col2,df2所以我的輸出如下所示:            col2  col3 deptdate                       2020-05-06    64    21    A2020-05-07    41    12    B2020-05-08    95    15    C2020-05-09    58     9    D2020-05-10    89    13    E2020-05-11    37    87    F2020-05-12    24     9    G2020-05-13    67    63    H我寫了一些看起來像這樣的代碼:df1=df1.set_index('dept')df1.update(df2.set_index('dept'))df1=df1.reset_index()但是它將索引重置df1為整數(shù)而不是日期,因此我得到的輸出如下所示:  dept  col2  col30    A    64    211    B    41    122    C    95    153    D    58     94    E    89    135    F    37    876    G    24     97    H    67    63我的完整代碼如下:import pandas as pdimport numpy as npfrom datetime import datetime, timedeltaimport datetimedept=['A','B','C','D','E','F','G','H']date_today = datetime.date.today()days = pd.date_range(date_today, date_today + timedelta(7), freq='D')np.random.seed(seed=1111)data1 = np.random.randint(1, high=100, size=len(days))data2 = np.random.randint(1, high=100, size=len(days))df1 = pd.DataFrame({'date': days, 'dept':dept,'col2': data1, 'col3': data2})df1 = df1.set_index('date')print(df1)dept=['A','B','C','D','E','F','G','H']date_today = datetime.date.today()days = pd.date_range(date_today, date_today + timedelta(7), freq='D')np.random.seed(seed=1331)data3 = np.random.randint(1, high=100, size=len(days))df2 = pd.DataFrame({'date': days, 'dept':dept,'col2': data3})df2 = df2.set_index('date')如何更新df1并df2保持索引日期格式df1?
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經(jīng)驗 獲得超5個贊

正如我對您的示例所了解的那樣,您df1從index 和 column的df2基礎(chǔ)上進行更新。您需要添加到索引并調(diào)用datedeptdeptupdate


df1 = df1.set_index('dept', append=True)

df1 = df1.update(df2.set_index('dept', append=True))

df1 = df1.reset_index('dept')


Out[35]:

           dept  col2  col3

date

2020-05-06    A    64    21

2020-05-07    B    41    12

2020-05-08    C    95    15

2020-05-09    D    58     9

2020-05-10    E    89    13

2020-05-11    F    37    87

2020-05-12    G    24     9

2020-05-13    H    67    63


查看完整回答
反對 回復 2022-11-09
?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

concat那時你可以使用groupby


df_out=pd.concat([df1,df2],sort=False).groupby(level=0).last()

Out[261]: 

            col2  col3 dept

date                       

2020-05-06    64  21.0    A

2020-05-07    41  12.0    B

2020-05-08    95  15.0    C

2020-05-09    58   9.0    D

2020-05-10    89  13.0    E

2020-05-11    37  87.0    F

2020-05-12    24   9.0    G

2020-05-13    67  63.0    H


查看完整回答
反對 回復 2022-11-09
?
一只甜甜圈

TA貢獻1836條經(jīng)驗 獲得超5個贊

您可以使用以下方法執(zhí)行此操作df.update:


In [2162]: df1['col2'].update(df2['col2'])                                                                                                                                                                  


In [2163]: df1                                                                                                                                                                                              

Out[2163]: 

            col2  col3 dept

date                       

2020-05-06    64    21    A

2020-05-07    41    12    B

2020-05-08    95    15    C

2020-05-09    58     9    D

2020-05-10    89    13    E

2020-05-11    37    87    F

2020-05-12    24     9    G

2020-05-13    67    63    H


查看完整回答
反對 回復 2022-11-09
  • 3 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號