I need to merge the label dataframe to the feature dataframe like this:
Label Dataframe:
Time (integer) | Label |
---|---|
0 | a |
1 | b |
2 | c |
... | ... |
Feature Dataframe:
Time (float) | Feature1 | Feature2 |
---|---|---|
0 | ... | ... |
0.5 | ... | ... |
1 | ... | ... |
1.5 | ... | ... |
2 | ... | ... |
... | ... | ... |
the result dataframe should be something like this:
Time (float) | Feature1 | Feature2 | Label |
---|---|---|---|
0 | ... | ... | a |
0.5 | ... | ... | a |
1 | ... | .. | b |
1.5 | ... | ... | b |
2 | ... | ... | c |
... | ... | ... | ... |
which means, for example in 0~1s, the label is a; in 1~2s,the label is b; etc.
I have 100,000 rows in the actural dataframe. Is there any efficient way to do this?
CodePudding user response:
One option is
df2['Label'] = df2['Time'].astype(int).map(df1.set_index('Time').squeeze())
CodePudding user response:
You can try this: df1.merge(df2)