我有一个名为finaldf
的数据帧:
Name Date Date met
0 6M EUR10s20s30s 2019-08-15 2021-05-20
1 6M EUR10s20s30s 2020-04-02 2021-05-20
2 6M EUR10s20s30s 2020-06-04 2021-05-20
3 6M EUR10s30s 2017-12-21 2018-01-11
4 6M EUR10s30s 2020-07-02 2021-05-20
5 6M EUR10s30s 2020-08-06 2021-05-20
6 6M EUR15s20s 2020-03-26 2021-05-20
7 6M EUR15s20s 2020-05-07 2021-05-20
8 6M EUR15s30s 2018-01-18 2018-01-26
9 6M EUR20s30s 2020-03-26 2021-05-20
10 6M EUR2s10s 2020-03-12 2020-03-13
11 6M EUR3s10s 2019-06-20 2019-07-12
12 6M EUR3s10s 2019-07-04 2019-07-11
13 6M EUR3s10s 2019-08-01 2019-08-07
14 6M EUR3s10s 2019-09-05 2019-09-12
15 6M EUR3s7s 2019-09-26 2019-10-03
16 6M EUR3s7s 2020-09-03 2020-09-18
17 6M EUR3s7s 2020-10-01 2020-10-20
18 6M EUR3s7s 2020-11-05 2021-05-20
19 6M EUR3s7s 2020-12-03 2021-01-27
20 6M EUR3s7s 2021-01-07 2021-01-28
21 6M EUR3s7s 2021-02-04 2021-02-19
22 6M EUR3s7s 2021-03-04 2021-03-29
23 6M EUR4s7s10s 2020-03-26 2020-04-22
24 6M EUR4s8s12s 2019-09-12 2021-05-20
25 6M EUR4s8s12s 2019-10-03 2019-12-27
26 6M EUR4s8s12s 2020-03-05 2020-03-10
27 6M EUR4s8s12s 2021-05-13 2021-05-20
28 6M EUR5s10s 2017-03-09 2017-03-10
29 6M EUR5s10s 2017-12-21 2018-01-11
30 6M EUR5s10s 2018-01-04 2018-01-12
31 6M EUR5s10s 2019-11-07 2019-12-30
32 6M EUR5s10s 2019-12-05 2021-05-20
33 6M EUR5s10s 2020-01-02 2020-03-12
34 6M EUR5s10s 2020-02-06 2020-03-12
35 6M EUR5s10s15s 2020-03-12 2020-04-02
36 6M EUR5s15s 2016-11-10 2016-11-11
37 6M EUR5s30s 2016-11-03 2016-11-11
38 6M EUR5s30s 2017-07-06 2017-07-20
39 6M EUR5s7s9s 2020-03-12 2021-05-20
40 6M EUR5s8s11s 2019-08-08 2021-05-20
我想检查Name
列,看看该值是否存在于任何其他行中。如果是,我想检查Date
是否不在另一行的Date
和Date met
之间,其中Name
中有相同的值。如果是,我想删除该行
例如,以第一行为例,检查Name
是否存在于另一行中(它也存在于索引1和索引2)。检查Date
是否在另外两行的Date
和Date met
之间,因为它不是,所以保留它。使用相同的逻辑,索引1(第二行)处的行将被删除,因为Date
位于第一行的Date
和Date met
之间
我有以下代码:
Indexes = []
for i in range (0, len(finaldf)):
finaldf.index = np.arange(0, len(finaldf))
Start = finaldf.iloc[i, 1]
S = datetime.datetime.strptime(Start, '%Y-%m-%d')
Prev_Start = finaldf.iloc[i-1,1]
P_S = datetime.datetime.strptime(Prev_Start, '%Y-%m-%d')
Prev_End = finaldf.iloc[i-1,17]
P_E = datetime.datetime.strptime(Prev_End, '%Y-%m-%d')
Name = finaldf.iloc[i,0]
Name1 = finaldf.iloc[i-1, 0]
if Name == Name1:
if P_S < S < P_E:
Indexes.append(i)
finaldf = finaldf.drop(Indexes)
问题是它没有删除日期重叠的所有行。我必须运行代码几次,以确保删除所有重叠的行。有没有一种方法可以让我运行一次并删除所有重叠的行
编辑:
删除重叠日期后的所需输出:
Name Date Date met
0 6M EUR10s20s30s 2019-08-15 2021-05-20
1 6M EUR10s30s 2017-12-21 2018-01-11
2 6M EUR10s30s 2020-07-02 2021-05-20
3 6M EUR15s20s 2020-03-26 2021-05-20
4 6M EUR15s30s 2018-01-18 2018-01-26
5 6M EUR20s30s 2020-03-26 2021-05-20
6 6M EUR2s10s 2020-03-12 2020-03-13
7 6M EUR3s10s 2019-06-20 2019-07-12
8 6M EUR3s10s 2019-08-01 2019-08-07
9 6M EUR3s10s 2019-09-05 2019-09-12
10 6M EUR3s7s 2019-09-26 2019-10-03
11 6M EUR3s7s 2020-09-03 2020-09-18
12 6M EUR3s7s 2020-10-01 2020-10-20
13 6M EUR3s7s 2020-11-05 2021-05-20
14 6M EUR4s7s10s 2020-03-26 2020-04-22
15 6M EUR4s8s12s 2019-09-12 2021-05-20
16 6M EUR5s10s 2017-03-09 2017-03-10
17 6M EUR5s10s 2017-12-21 2018-01-11
18 6M EUR5s10s 2019-11-07 2019-12-30
19 6M EUR5s10s 2020-01-02 2020-03-12
20 6M EUR5s10s15s 2020-03-12 2020-04-02
21 6M EUR5s15s 2016-11-10 2016-11-11
22 6M EUR5s30s 2016-11-03 2016-11-11
23 6M EUR5s30s 2017-07-06 2017-07-20
24 6M EUR5s7s9s 2020-03-12 2021-05-20
带有我也想要的列的Dataframe(基本上这是原始Dataframe):
Name Date Rate Z-score Resids Carry+Roll ADF_Test Hurst Stop loss Target Receiver Payer PC1 Weight PC2 Weight PC3 Weight StopLoss Reached Target Reached Date met PnL
0 6M EUR10s20s30s 2019-08-15 0.3551175421058592 -2.4809439286996393 -10.018125624361822 -0.5121038615712115 0.09023733749343249 -0.0285522176689668 0.30502691398405013 0.45529879834947745 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.006654543301378935
1 6M EUR10s20s30s 2020-04-02 0.29800036700415805 -2.1619132833019714 -6.402895986067242 -0.5121038615712115 0.047235326509030985 -0.030870766088494376 0.26598588707382187 0.36202932686483047 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.0637717184030801
2 6M EUR10s20s30s 2020-06-04 0.3047272487166206 -1.7869272721331058 -5.499809672863631 -0.5121038615712115 0.0429926365810223 -0.061623418495300904 0.27722820035230245 0.3597253454452569 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.05704483669061755
3 6M EUR10s30s 2017-12-21 0.3534846709777888 -1.3434219167513135 -5.192287730931621 -3.025210894920227 0.007761434187883128 -0.030592377901744926 0.3275232323231307 0.405407548287105 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2018-01-11 -0.0400014599068772
4 6M EUR10s30s 2020-07-02 0.26710083686421243 -1.06363779416328 -10.281459965935966 -3.025210894920227 0.05792478106742115 0.004192391339835362 0.2156935370345326 0.36991543652357206 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.06328645161698726
5 6M EUR10s30s 2020-08-06 0.25627292165595233 -1.0991953022606602 -10.201881294988262 -3.025210894920227 0.06047556698943657 -0.03292149380374429 0.20526351518101102 0.35829173460583497 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.07411436682524736
6 6M EUR15s20s 2020-03-26 0.05383038432507725 -2.579707702223306 -5.9348820896207215 -0.9295692566922753 0.024354255157295314 0.12076476028757117 0.024155973876973644 0.11317920522128447 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.03493992464154627
7 6M EUR15s20s 2020-05-07 0.052296819894510314 -2.2167011797580365 -5.548714894398759 -0.9295692566922753 0.055074291702253246 0.09059365490462717 0.02455324542251652 0.1077839688384979 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.03647348907211321
8 6M EUR15s30s 2018-01-18 0.06126807220768704 -1.8251284286545288 -5.494758556607038 -2.186122773366783 0.07549548555692864 0.0677594419189068 0.03379427942465185 0.11621565777375742 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2018-01-26 -0.04184790559893692
9 6M EUR20s30s 2020-03-26 -0.07692904144801146 -2.924385801459267 -9.273676040230546 -1.2565535166745079 0.017709568482470708 0.14461354753673294 -0.1232974216491642 0.015807718954294003 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.04926943502558276
10 6M EUR2s10s 2020-03-12 1.4223757026812986 1.2178041392636438 10.049739584842776 1.1943368445798352 0.08907845568540407 0.05264065083474774 1.4726244006055125 1.321878306832871 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2020-03-13 0.1110476579729931
11 6M EUR3s10s 2019-06-20 1.0728911741512022 3.033857255485046 8.563370284142074 0.5744542730912072 0.013984775847552516 0.0071297408872100865 1.1157080255719125 0.9872574713097815 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2019-07-12 -0.05153606976156522
12 6M EUR3s10s 2019-07-04 1.061665584000396 2.5721527365510664 7.538638483819055 0.5744542730912072 0.013556630900902379 0.028045941352964024 1.0993587764194912 0.9862791991622053 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2019-07-11 -0.04310960759119764
13 6M EUR3s10s 2019-08-01 1.0847660200101767 2.4328178794081876 7.572077623047621 0.5744542730912072 0.030117295239059646 0.055747134736908746 1.122626408125415 1.0090452437797006 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2019-08-07 -0.04040454065212784
14 6M EUR3s10s 2019-09-05 1.1557787699469992 2.8089304017939822 8.583348809222786 0.5744542730912072 0.08624635920780155 0.032976502100491134 1.1986955139931132 1.0699452818547714 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2019-09-12 0.14754881969838762
15 6M EUR3s7s 2019-09-26 0.5875078922056753 0.9691504755535116 6.208696688182935 0.7162668793618265 0.09175905958605407 0.07744018594349462 0.61855137564659 0.525420925323846 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2019-10-03 -0.03154732900883139
16 6M EUR3s7s 2020-09-03 0.5843087169695611 0.9183228875973894 5.2053715201964 0.7162668793618265 0.02696998395687082 0.037500437938909864 0.6103355745705431 0.5322550017675971 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2020-09-18 -0.026710290565652106
17 6M EUR3s7s 2020-10-01 0.6129284733369795 1.2573073092147253 6.295872503092465 0.7162668793618265 0.02789401779001527 0.040351081833919555 0.6444078358524419 0.5499697483060548 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2020-10-20 -0.03336626061236392
18 6M EUR3s7s 2020-11-05 0.6699325971564083 1.826486703665164 7.831859147105725 0.7162668793618265 0.04528062968149912 0.036988215711324664 0.709091892891937 0.591614005685351 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 -0.07571602594701221
19 6M EUR3s7s 2020-12-03 0.6563671613079304 1.5588933412323431 6.7695757254579885 0.7162668793618265 0.040160454459497855 0.01885797458361572 0.6902150399352203 0.5886714040533505 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2021-01-27 -0.03485514528282618
20 6M EUR3s7s 2021-01-07 0.6643128407889901 1.5583405018485745 6.559059930851857 0.7162668793618265 0.04221731878975462 -0.009836223872358161 0.6971081404432494 0.5987222414804716 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2021-01-28 -0.03585514528282596
21 6M EUR3s7s 2021-02-04 0.7026387639026315 1.8980231259709701 7.407414816051072 0.7162668793618265 0.06555508729153918 -0.020838122840227413 0.7396758379828868 0.6285646157421207 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2021-02-19 -0.03772427358587005
22 6M EUR3s7s 2021-03-04 0.7265622127246159 2.053578259077592 7.8387618169381525 0.7162668793618265 0.09341192714662794 -0.011529208286405253 0.7657560218093066 0.6481745945552343 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2021-03-29 -0.03960164952777134
23 6M EUR4s7s10s 2020-03-26 0.15208838972574795 0.8394716772191768 6.486285321779395 0.38404771745329525 0.0906318192408806 0.048417637903754154 0.18451981633464493 0.087225536507954 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2020-04-22 0.06809748880096278
24 6M EUR4s8s12s 2019-09-12 0.2547948957611614 0.9972056052917206 5.468377271163667 0.7985286159543414 0.04905848719653141 0.05038585707039878 0.28213678211697973 0.20011112304952472 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 -0.08574695035832186
25 6M EUR4s8s12s 2019-10-03 0.25865420986282833 1.1609428160905182 6.304343561884787 0.7985286159543414 0.07157652341208172 0.05005346751549387 0.29017592767225225 0.19561077424398046 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2019-12-27 0.06396634990063019
26 6M EUR4s8s12s 2020-03-05 0.24276274229003603 0.8845551945537232 5.658369454725162 0.7985286159543414 0.02787844658929541 0.01488828734118193 0.27105458956366185 0.1861790477427844 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2020-03-10 -0.036303276794239614
27 6M EUR4s8s12s 2021-05-13 0.33556412763719057 1.802966202328959 5.438223978249058 0.7985286159543414 0.09361423135564811 -0.02900377453371789 0.36275524752843585 0.2811818878547 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 -0.00497771848229267
28 6M EUR5s10s 2017-03-09 0.47031911925863185 -3.1398148384619518 -5.2951215366529745 -0.006651105415000913 0.013521128333408981 -0.01304607231311307 0.44384351157536694 0.5232703346251616 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2017-03-10 -0.04747723588016267
29 6M EUR5s10s 2017-12-21 0.4241173389861199 -3.1485790437205674 -5.755846853010843 -0.006651105415000913 0.031075063845439694 -0.04318498876956903 0.3953381047210657 0.48167580751622835 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2018-01-11 -0.0331351417112391
30 6M EUR5s10s 2018-01-04 0.4193857578199046 -2.8338133761708644 -5.719816399646713 -0.006651105415000913 0.07640562305776748 0.028028067568284666 0.39078667582167104 0.47658392181637177 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2018-01-12 -0.04790707893195678
31 6M EUR5s10s 2019-11-07 0.4366264511391338 -1.4748217409141113 -6.102783652752109 -0.006651105415000913 0.057626670486526005 -0.038487633432452206 0.40611253287537324 0.49765428766665487 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2019-12-30 -0.04285968610358848
32 6M EUR5s10s 2019-12-05 0.4192106816350715 -1.7258154910323342 -7.007278827261603 -0.006651105415000913 0.062427099545113454 -0.04517175681059255 0.38417428749876353 0.48928346990768756 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 0.1079666807193636
33 6M EUR5s10s 2020-01-02 0.41181415786391373 -1.6825487903256093 -6.728352876635133 -0.006651105415000913 0.06663144963045009 -0.05244313425708268 0.37817239348073806 0.4790976866302651 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2020-03-12 -0.03666825020142139
34 6M EUR5s10s 2020-02-06 0.41441949868144945 -1.6101900314848328 -6.841241347394915 -0.006651105415000913 0.06540798602030823 -0.0837440559452311 0.3802132919444749 0.4828319121553986 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2020-03-12 -0.03927359101895711
35 6M EUR5s10s15s 2020-03-12 0.23839826987620893 0.888379629093766 5.1411607727597115 0.8324370161384431 0.011489277321607207 -0.029457186976140855 0.2641040737400075 0.18698666214861182 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2020-04-02 0.058022756264589054
36 6M EUR5s15s 2016-11-10 0.8171138057999755 -2.327477987339372 -5.148734593654529 -0.845739226968445 0.06472734670848343 0.0483347355578645 0.7913701328317029 0.8686011517365207 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2016-11-11 -0.03748790612000896
37 6M EUR5s30s 2016-11-03 0.9923611909878773 -1.9902732274787769 -5.327243342474162 -3.031862000335228 0.01127904302529342 0.06633443081433844 0.9657249742755065 1.045633624412619 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 1 0 2016-11-11 -0.06109772238844258
38 6M EUR5s30s 2017-07-06 0.9688229799277854 -1.5438745397161435 -6.078495845308191 -3.031862000335228 0.004793457309803088 -0.006324155557797389 0.9384305007012445 1.0296079383808674 0 1 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 1 2017-07-20 0.06236826570028242
39 6M EUR5s7s9s 2020-03-12 0.08125020369110886 2.6577172474494115 5.80045156642956 0.11729642532226636 0.06972451502756954 0.02397106167883558 0.11025246152325666 0.02324568802681326 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 -0.011610925923030715
40 6M EUR5s8s11s 2019-08-08 0.1596565724131399 3.175117254947791 6.056261435265576 0.6076868023949134 0.013737078310775913 0.050294226731910384 0.18993787958946778 0.09909395806048416 1 0 0.988301879778588 0.007891492023790062 0.0036497326590273086 0 0 2021-05-20 -0.007839814545810453
目前没有回答
相关问题 更多 >
编程相关推荐