[英]Replace part of string with a different column's value pandas + python
问题
我有一个CSV文件,里面充满了像这样的数据
rowid filepath curr_time cameraid old_cameraid
0 1/1_20180625_234436.jpg 2018-06-25 23:44:36 1 19
1 1/1_20180626_005104.jpg 2018-06-26 00:51:04 1 19
2 1/1_20180626_015735.jpg 2018-06-26 01:57:35 1 19
3 1/1_20180626_030430.jpg 2018-06-26 03:04:30 1 19
...
2605 2/2_20180622_064322.jpg 2018-06-22 06:43:22 2 64
2606 2/2_20180622_074326.jpg 2018-06-22 07:43:26 2 64
2607 2/2_20180622_084332.jpg 2018-06-22 08:43:32 2 64
我想做的事
我想使用old_cameraid字符串值替换文件路径号:
rowid filepath curr_time cameraid old_cameraid
0 19/19_20180625_234436.jpg 2018-06-25 23:44:36 1 19
...
2605 64/64_20180622_064322.jpg 2018-06-22 06:43:22 2 64
我尝试过的
我试过使用
df.apply(lambda x: x['filepath'].replace('a',x['b']), axis=1)
从这个StackOverflow问题中,但我不是要替换'a',而是要在filepath列中替换一部分字符串。 因此,这是行不通的,我不确定。
我也为行的格式表示歉意。 我试图搜索如何在stackoverflow问题中正确设置行的格式,但找不到正确的信息。
您可以将它们全部加在一起,我假设所有文件路径都具有相同的语法
1 / 1_20180625_234436.jpg
df['filepath'] = df['old_cameraid'].astype(str) + '/' + df['filepath'].astype(str).map(lambda x: x.split('/')[-1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.