因此看起来可能很愚蠢,但是您如何完成此合并。就像你们看到的那样,我尝试对两个字符串求和,但是由于某种原因,它在数字上失败了Weeks_between = 10
类型将不同,不一致。这只是数据样本。它实际上接近一百万行。
数据:
cw = pd.DataFrame({ "Weeks_between": [1.0 ,2.0 ,3.0 ,4.0 ,5.0 ,6.0 ,7.0 ,8.0 ,9.0 ,10.0 ,11.0 ,12.0 ] ,
"Type" : ["a" , "b" ,"c" , "b" ,"c", "b" ,"c", "b" ,"c", "b" ,"c", "b" ] })
我的代码:
cw["Weeks_between"] = cw["Weeks_between"].round(0)
cw["key"] = cw["Weeks_between"].map(str) + cw["Type"]
cw["key"] = cw.key.str.replace('.0', '').astype(str)
cw[["Weeks_between","key"]]
>>>
Weeks_between key
1 1a
2 2b
3 3c
4 4b
5 5c
6 6b
7 7c
8 8b
9 9c
10 b # <-- THERE IS THE PROBLEM
11 11c
12 12b
这是一种选择:使用带正则表达式的字符串替换来标识句点标点并添加列。
cw['key'] = cw.Weeks_between.astype(str).str.replace(r'\.0','') +
cw.Type
cw
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句