Reputation: 127
My data frame looks as following
time Weg Kraft Adj_Zug_Time eps time2
0 0.02 -0.02771 28.3 1.12 0 0
1 0.04 -0.0269 28.3 1.14 0.00018772 0.1
2 0.06 -0.02608 21.2 1.16 0.00015665 0.2
3 0.08 -0.02527 21.2 1.18 0.00018191 0.3
4 0.1 -0.02443 28.3 1.2 0.00018107 0.4
5 0.12 -0.02362 28.3 1.22 0.0001619 0.5
6 0.14 -0.02277 28.3 1.24 0.00015181 0.6
7 0.16 -0.02193 28.3 1.26 0.00013562 0.7
8 0.18 -0.0211 28.3 1.28 0.00015082 0.8
9 0.2 -0.02028 28.3 1.3 0.00016073 0.9
10 0.22 -0.01945 28.3 1.32 0.00012887 1
11 0.24 -0.01862 21.2 1.34 0.00017036 1.1
12 0.26 -0.01776 35.3 1.36 0.00013887 1.2
13 0.28 -0.01689 28.3 1.38 0.00013914 1.3
14 0.3 -0.01605 28.3 1.4 0.0001629 1.4
15 0.32 -0.01518 35.3 1.42 0.00017935 1.5
16 0.34 -0.01434 42.4 1.44 0.00022273 1.6
17 0.36 -0.01351 35.3 1.46 0.00021165 1.7
18 0.38 -0.01265 35.3 1.48 0.00025136 1.8
19 0.4 -0.0118 28.3 1.5 0.00027536 1.9
20 0.42 -0.01097 49.4 1.52 0.00029486 2
21 0.44 -0.01011 35.3 1.54 0.00031133 2.1
22 0.46 -0.00928 42.4 1.56 0.00033505 2.2
23 0.48 -0.00846 49.4 1.58 0.00036787 2.3
24 0.5 -0.00761 42.4 1.6 0.00037578 2.4
25 0.52 -0.0068 42.4 1.62 0.00040227 2.5
26 0.54 -0.00598 42.4 1.64 0.00043238 2.6
27 0.56 -0.00517 35.3 1.66 0.00044347 2.7
28 0.58 -0.00431 49.4 1.68 0.00044462 2.8
29 0.6 -0.00352 49.4 1.7 0.00048994 2.9
30 0.62 -0.00269 49.4 1.72 0.00050601 3
31 0.64 -0.00187 42.4 1.74 0.00053589 3.1
32 0.66 -0.00102 49.4 1.76 0.00054206 3.2
33 0.68 -0.00018 49.4 1.78 0.00057367 3.3
34 0.7 0.00065 49.4 1.8 0.0005971 3.4
35 0.72 0.00149 49.4 1.82 0.00060671 3.5
36 0.74 0.00228 56.5 1.84 0.00060161 3.6
I want to create a new column called Stress
which will take the values from the Kraft
column which its Adj_Zug_time
values will match with time2
values.
Desired output would be as following:
time Weg Kraft Adj_Zug_Time eps time2 Spannung_02
0 0.02 -0.02771 28.3 1.12 0 0 🔴
1 0.04 -0.0269 28.3 1.14 0.00018772 0.1 🔴
2 0.06 -0.02608 21.2 1.16 0.00015665 0.2 🔴
3 0.08 -0.02527 21.2 1.18 0.00018191 0.3 🔴
4 0.1 -0.02443 28.3 1.2 0.00018107 0.4 🔴
5 0.12 -0.02362 28.3 1.22 0.0001619 0.5 🔴
6 0.14 -0.02277 28.3 1.24 0.00015181 0.6 🔴
7 0.16 -0.02193 28.3 1.26 0.00013562 0.7 🔴
8 0.18 -0.0211 28.3 1.28 0.00015082 0.8 🔴
9 0.2 -0.02028 28.3 1.3 0.00016073 0.9 🔴
10 0.22 -0.01945 28.3 1.32 0.00012887 1 🔴
11 0.24 -0.01862 21.2 1.34 0.00017036 1.1 🔴
12 0.26 -0.01776 35.3 1.36 0.00013887 1.2 28.3
13 0.28 -0.01689 28.3 1.38 0.00013914 1.3 28.3
14 0.3 -0.01605 28.3 1.4 0.0001629 1.4 28.3
15 0.32 -0.01518 35.3 1.42 0.00017935 1.5 28.3
16 0.34 -0.01434 42.4 1.44 0.00022273 1.6 42.4
17 0.36 -0.01351 35.3 1.46 0.00021165 1.7 49.4
18 0.38 -0.01265 35.3 1.48 0.00025136 1.8 49.4
19 0.4 -0.0118 28.3 1.5 0.00027536 1.9 🔴
20 0.42 -0.01097 49.4 1.52 0.00029486 2 🔴
21 0.44 -0.01011 35.3 1.54 0.00031133 2.1 🔴
22 0.46 -0.00928 42.4 1.56 0.00033505 2.2 🔴
23 0.48 -0.00846 49.4 1.58 0.00036787 2.3 🔴
24 0.5 -0.00761 42.4 1.6 0.00037578 2.4 🔴
25 0.52 -0.0068 42.4 1.62 0.00040227 2.5 🔴
26 0.54 -0.00598 42.4 1.64 0.00043238 2.6 🔴
27 0.56 -0.00517 35.3 1.66 0.00044347 2.7 🔴
28 0.58 -0.00431 49.4 1.68 0.00044462 2.8 🔴
29 0.6 -0.00352 49.4 1.7 0.00048994 2.9 🔴
30 0.62 -0.00269 49.4 1.72 0.00050601 3 🔴
31 0.64 -0.00187 42.4 1.74 0.00053589 3.1 🔴
32 0.66 -0.00102 49.4 1.76 0.00054206 3.2 🔴
33 0.68 -0.00018 49.4 1.78 0.00057367 3.3 🔴
34 0.7 0.00065 49.4 1.8 0.0005971 3.4 🔴
35 0.72 0.00149 49.4 1.82 0.00060671 3.5 🔴
36 0.74 0.00228 56.5 1.84 0.00060161 3.6 🔴
In excel I would use index-match for this.
How is it done with Pandas ?
Upvotes: 0
Views: 83
Reputation: 28669
See if this helps; primarily uses merge
:
It looks for rows where Adj_Zug_Time
matches time2
. note the how='right
; this means the right column determines how the results are returned.
result = pd.merge(
df.Kraft,
df.time2,
left_on=df.Adj_Zug_Time,
right_on=df.time2,
how="right",
).Kraft
df.assign(Stress=result)
time Weg Kraft Adj_Zug_Time eps time2 Stress
0 0.02 -0.02771 28.3 1.12 0.000000 0.0 NaN
1 0.04 -0.02690 28.3 1.14 0.000188 0.1 NaN
2 0.06 -0.02608 21.2 1.16 0.000157 0.2 NaN
3 0.08 -0.02527 21.2 1.18 0.000182 0.3 NaN
4 0.10 -0.02443 28.3 1.20 0.000181 0.4 NaN
5 0.12 -0.02362 28.3 1.22 0.000162 0.5 NaN
6 0.14 -0.02277 28.3 1.24 0.000152 0.6 NaN
7 0.16 -0.02193 28.3 1.26 0.000136 0.7 NaN
8 0.18 -0.02110 28.3 1.28 0.000151 0.8 NaN
9 0.20 -0.02028 28.3 1.30 0.000161 0.9 NaN
10 0.22 -0.01945 28.3 1.32 0.000129 1.0 NaN
11 0.24 -0.01862 21.2 1.34 0.000170 1.1 NaN
12 0.26 -0.01776 35.3 1.36 0.000139 1.2 28.3
13 0.28 -0.01689 28.3 1.38 0.000139 1.3 28.3
14 0.30 -0.01605 28.3 1.40 0.000163 1.4 28.3
15 0.32 -0.01518 35.3 1.42 0.000179 1.5 28.3
16 0.34 -0.01434 42.4 1.44 0.000223 1.6 42.4
17 0.36 -0.01351 35.3 1.46 0.000212 1.7 49.4
18 0.38 -0.01265 35.3 1.48 0.000251 1.8 49.4
19 0.40 -0.01180 28.3 1.50 0.000275 1.9 NaN
20 0.42 -0.01097 49.4 1.52 0.000295 2.0 NaN
21 0.44 -0.01011 35.3 1.54 0.000311 2.1 NaN
22 0.46 -0.00928 42.4 1.56 0.000335 2.2 NaN
23 0.48 -0.00846 49.4 1.58 0.000368 2.3 NaN
24 0.50 -0.00761 42.4 1.60 0.000376 2.4 NaN
25 0.52 -0.00680 42.4 1.62 0.000402 2.5 NaN
26 0.54 -0.00598 42.4 1.64 0.000432 2.6 NaN
27 0.56 -0.00517 35.3 1.66 0.000443 2.7 NaN
28 0.58 -0.00431 49.4 1.68 0.000445 2.8 NaN
29 0.60 -0.00352 49.4 1.70 0.000490 2.9 NaN
30 0.62 -0.00269 49.4 1.72 0.000506 3.0 NaN
31 0.64 -0.00187 42.4 1.74 0.000536 3.1 NaN
32 0.66 -0.00102 49.4 1.76 0.000542 3.2 NaN
33 0.68 -0.00018 49.4 1.78 0.000574 3.3 NaN
34 0.70 0.00065 49.4 1.80 0.000597 3.4 NaN
35 0.72 0.00149 49.4 1.82 0.000607 3.5 NaN
36 0.74 0.00228 56.5 1.84 0.000602 3.6 NaN
Upvotes: 1