Python 在数据帧中应用os.path.join方法
我有一个数据框Python 在数据帧中应用os.path.join方法,python,pandas,os.path,Python,Pandas,Os.path,我有一个数据框df,有三列:['Name','WD','File']。与'name'中每个名称相关联的文件在'WD'列中作为其工作目录,在'file'列中作为文件名 我想使用os.path.join()方法加入'WD'列和'File'列,以便'File'列显示完整路径 我尝试了以下脚本,效果不错,但我想知道是否有更好的方法不使用for循环: for i in df.index: df['File'][i]=os.path.join(df['WD'][i],df['File'][i])
df
,有三列:['Name','WD','File']
。与'name'
中每个名称相关联的文件在'WD'
列中作为其工作目录,在'file'
列中作为文件名
我想使用os.path.join()
方法加入'WD'
列和'File'
列,以便'File'
列显示完整路径
我尝试了以下脚本,效果不错,但我想知道是否有更好的方法不使用for循环:
for i in df.index:
df['File'][i]=os.path.join(df['WD'][i],df['File'][i])
一个简单的解决方案是使用
os.sep
而不是os.path.join()
>>df[“Path”]=df[“WD”]+os.sep+df[“File”]
一个简单的解决方案是使用os.sep
而不是os.path.join()
>>df[“Path”]=df[“WD”]+os.sep+df[“File”]
非常好,可读性最好,但为了完整性和不同的用例,这里还有两个选项:
cat
(串联):
df[['WD', 'File']].apply(lambda row: os.path.join(*row), axis=1)
cat
(串联):
df[['WD', 'File']].apply(lambda row: os.path.join(*row), axis=1)
谢谢这两种选择都奏效了。将在其他使用条件下使用这些方法。谢谢。这两种选择都奏效了。将这些方法用于其他使用条件。