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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Python的for循環(huán)中從具有相同日期的兩個(gè)數(shù)據(jù)幀的列中減去值時(shí)出現(xiàn)問題

在Python的for循環(huán)中從具有相同日期的兩個(gè)數(shù)據(jù)幀的列中減去值時(shí)出現(xiàn)問題

倚天杖 2023-07-11 14:43:23
我有兩個(gè)數(shù)據(jù)框,如下所示:df1:DATE        Value1  Value204.01.05    2.754   2.75705.01.05    2.7316  2.750506.01.05    2.7546  2.756807.01.05    2.7465  2.752510.01.05    2.7385  2.741511.01.05    2.7348  2.738812.01.05    2.7348  2.738813.01.05    2.7348  2.738814.01.05    2.7365  2.743517.01.05    2.7365  2.743518.01.05    2.7365  2.743519.01.05    2.7365  2.7435df2:DATE        Value1  Value204.01.05    2.701   2.699505.01.05    2.7065  2.70507.01.05    2.6348  2.633310.01.05    2.635   2.631511.01.05    2.6275  2.626512.01.05    2.6268  2.625313.01.05    2.6285  2.62717.01.05    2.6565  2.655518.01.05    2.6275  2.62619.01.05    2.643   2.6415如果我有完全相同的日期,我下面的代碼就可以工作。一旦日期不相等并且我只想計(jì)算相等的日期,它就不起作用。我的 if 語句不知何故沒有過濾掉正確的日期。我想將計(jì)算值添加到 df1 中。我的代碼如下所示:import pandas as pdfile1 = 'File1.csv'file2 = 'File2.csv'df1 = pd.read_csv(file1, sep=';')df1['DATE'] = pd.to_datetime(df1.DATE)df2 = pd.read_csv(file2, sep=';')df2['DATE'] = pd.to_datetime(df2.DATE)for date1 in df1['DATE']:    for date2 in df2['DATE']:        if date1 == date2:            print(date1, date2)            df1['sub'] = df1.Value1 - df2.Value1print(df1)預(yù)期輸出如下:DATE        Value1  Value2  LEVEL   sub04.01.05    2.701   2.6995  1 Year  0.05305.01.05    2.7065  2.705   1 Year  0.025107.01.05    2.6348  2.6333  1 Year  0.111710.01.05    2.635   2.6315  1 Year  0.103511.01.05    2.6275  2.6265  1 Year  0.107312.01.05    2.6268  2.6253  1 Year  0.10813.01.05    2.6285  2.627   1 Year  0.106317.01.05    2.6565  2.6555  1 Year  0.0818.01.05    2.6275  2.626   1 Year  0.10919.01.05    2.643   2.6415  1 Year  0.0935這意味著僅計(jì)算相同日期的差異。
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

# this will result in merged df wtih all intersecting dates

df1 = df1.merge(df2, on = 'DATE', suffixes=('','_df2')

# the column you need

df1['sub'] = df1['Value1'] - df1['Value1_df2'] 

# next drop unnecessary columns of df2

df1.drop(columns = ['Value1_df2', 'Value2_df2'], inplace=True)


查看完整回答
反對(duì) 回復(fù) 2023-07-11
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先將索引設(shè)置為'DATE'使其對(duì)齊。然后我們減去。由于您似乎希望將輸出添加到df2我們將執(zhí)行-(df2 - df1)的操作與(df1 - df2)


df1 = df1.set_index('DATE')

df2 = df2.set_index('DATE')


df2['sub'] = -df2['Value1'].sub(df1['Value1'])


          Value1  Value2     sub

DATE                            

04.01.05  2.7010  2.6995  0.0530

05.01.05  2.7065  2.7050  0.0251

07.01.05  2.6348  2.6333  0.1117

10.01.05  2.6350  2.6315  0.1035

11.01.05  2.6275  2.6265  0.1073

12.01.05  2.6268  2.6253  0.1080

13.01.05  2.6285  2.6270  0.1063

17.01.05  2.6565  2.6555  0.0800

18.01.05  2.6275  2.6260  0.1090

19.01.05  2.6430  2.6415  0.0935


查看完整回答
反對(duì) 回復(fù) 2023-07-11
  • 2 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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