【发布时间】:2021-03-26 18:28:06
【问题描述】:
我有两个数据框需要根据某些条件进行映射(或加入?)。这些是数据框:
df_1
img_names img_array
0 1_rel 253
1 1_rel_right 255
2 1_rel_top 250
3 4_rel 180
4 4_rel_right 182
5 4_rel_top 189
6 7_rel 217
7 7_rel_right 183
8 7_rel_top 196
df_2
List_No time
0 1 38
1 4 23
2 7 32
映射后我想得到以下数据框:
df_3
img_names img_array List_No time
0 1_rel 253 1 38
1 1_rel_right 255 1 38
2 1_rel_top 250 1 38
3 4_rel 180 4 23
4 4_rel_right 182 4 23
5 4_rel_top 189 4 23
6 7_rel 217 7 32
7 7_rel_right 183 7 32
8 7_rel_top 196 7 32
基本上,df_2 的每一行被填充 3 次以匹配 df_1 中的行数,并且映射(如果我们可以这么说的话)是通过 df_1 的每一行中的拆分字符串完成的s img_name 列。 img_names 中的行元素的名称可能有不同的名称,但它们中的每一个总是以某个数字(在这种情况下为 1,4,7)和取消划线等开头。所以我需要在每一行中拆分对应的数字并将其与List_No 的行元素映射。
我希望上面的例子很清楚。
谢谢。
【问题讨论】:
标签: python-3.x pandas dataframe mapping